如果想改變Server的設定
譬如說memory_limit
往往使用ini_set('memory_limit', '64M');會失敗
但使用.htaccess php_value memory_limit 64M
或者是在根目錄放php.ini memory_limit=64M
上述兩個方法的缺點是每個PHP都會被影響
據Server廠商說memory設定越大越大網頁會越慢
所以我想請教是不是有方法讓一開始的ini_set()就可以實現
讓我可以在個別頁面需要處理圖片的頁面使用大一點的記憶體就好
記憶體是動態配置的,並不是你設memory limit之後他初始就會用這麼多。而且如果不是這樣,你在程式裡面也不可能用ini_set()來修改記憶體使用的限制。所以我會懷疑把他調大是否對於網頁速度真的有決定性的影響。
要讓php跑得快,通常的解法是用APC,另外就是控制檔案I/O。最常在無意間影響到效能的就是require_once(), include_once()以及include_path設定,沒用好的話他會在背後做directory scan而影響程式效能。另外,有空的話用xdebug看看你程式效能瓶頸是出在哪裡,問題應該就不多了吧...
你是在程式一開始就用ini_set()嗎?
我是用了上次提問的dom那個class,一用就掛了
http://simplehtmldom.sourceforge.net/
自己本身的東西沒有用到什麼記憶體
用ini_set()沒有用
在根目錄使用php.ini才work
但他會影響全部的php頁面
所以才想問有沒有讓單一頁面可以成功設定的方式
memory_limit 是屬於 PHP_INI_ALL 的設定,所以也可以用perdir的方式來使用。既然ini_set()無法使用,你又不想影響到其他php程式,那另一個解法是把需要額外記憶體的php獨立放在一個目錄中,然後在這個目錄中用.htaccess來設定。
處理dom需要比較大的記憶體,雖然用起來比較簡單...