程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 利用PHP內建函數和htaccess修改php.ini參數

利用PHP內建函數和htaccess修改php.ini參數

編輯:PHP綜合

最近寫一個程序的時候,有一個腳本的執行時間比較長,100s+,但是php.ini默認的腳本超時時間是30s,所以自然而然的中斷了,加上set_limit_time(0),發現函數被禁用了,汗。

到論壇問客服,客服說因為是共享服務器,為了避免某一個虛擬機內的腳本有死循環,使CPU飙升,就關閉了這個函數,聽到這個結果,我異常蛋疼。

在蛋疼了一天以後,有個會員給提供了一個方法,利用htacces修改腳本超時時間等php.ini參數。試了一下,嘿,還真可以,又忽然想到了ini_set()這個函數,試了一下,依然可以,哇嘎嘎,我可以邪惡了~

實例:

# 先以htaccess為例
# 示例:
# php_value 參數名 參數值
# 實例:
php_value max_execution_time 600
# 這樣,腳本超時時間就改為了600(十分鐘)了

這是.htaccess的寫法,不過貌似這樣寫之後,rewrite都失效了?反正我同目錄下的dz偽靜態沒用,一直404,汗,方便沒好貨啊,不過如果禁用了ini_get和ini_set,這個方法還是可取的。

下面看php的:

<?php
echo "修改前:".ini_get("max_execution_time");
if(ini_set("max_execution_time",600))
echo "修改ing...";
else
exit("ini_set()函數被禁用");
sleep(3);
echo "修改後:".ini_get("max_execution_time");
?>


剛才忘了,最後加一句:htaccess那個只能用於 PHP_INI_ALL 或 PHP_INI_PERDIR 類型的指令,其它的不行。

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved