2011-04-02 114 views
9

的.htaccess的內容是:的.htaccess產生500內部服務器錯誤

php_value upload_max_filesize 64M 

作品在本地主機上,砸了每一個託管服務器我上傳它。 error.log說:無效的命令'php_value',可能是拼寫錯誤或未包含在服務器配置中的模塊定義

是否有另一種方法來更改upload_max_filesize?

+1

你應該閱讀錯誤日誌以獲取更多信息。 – vbence 2011-04-02 12:34:30

+0

是的,謝謝,忘記了。 error.log表示無效的命令'php_value',可能是拼寫錯誤或由未包含在服務器配置中的模塊定義的。 – 2011-04-02 12:36:58

+3

@ A-OK:假設PHP正在運行,請創建一個phpinfo()文件並檢查服務器方法。 'php_value'只有在使用'mod_php'時纔會起作用,即。 PHP是一個Apache模塊,如果它是FCGI,它將無法工作。 – Orbling 2011-04-02 12:39:38

回答

2

問題是託管服務提供商,他們只允許通過的php.ini

+5

那麼解決方案是什麼?變通? – 2015-08-17 21:16:13

5

如果php_value沒有被識別爲一個有效的命令改變這種情況,可能是因爲PHP不作爲Apache模塊安裝。用下面的內容創建一個PHP文件:

<?php phpinfo();

運行該文件,以顯示你的PHP配置。在頁面(Ctr + F)中搜索「mod_php」。如果你沒有在任何地方找到它,這解釋了你的問題。

如果您有權訪問php.ini,則可以通過編輯該文件來修復問題。在phpinfo頁面上,查看Loaded Configuration File下的值,瞭解要編輯的文件的位置。在Linux上,它會是如/usr/local/lib/php.ini

打開ini文件(它只是一個文本文件),並尋找你想改變的設置。如果不存在,只需添加一行並按需要設置:upload_max_filesize=64M

保存該文件並重新啓動Apache服務器。

3

如果你不想在.htaccess刪除php_flag命令,但要避免錯誤,換行命令如下:

<IfModule mod_php5.c> 
    php_flag display_errors 0 
    php_flag display_startup_errors 0 
</IfModule> 

如果您使用PHP7,使用<IfModule mod_php7.c>