簡體   English   中英

使用.htaccess進行PHP設置時出現500內部服務器錯誤

[英]500 Internal Server Error when using .htaccess for PHP Settings

當我使用.htaccess進行以下PHP設置時,訪問網站時出現500 Internal Server Error

.htaccess文件中的代碼:

php_flag display_errors off
php_flag log_errors on

.htaccess文件的文件權限是644

我知道上面的代碼是正確的。 但當它向我顯示500 Internal Server Error ,我嘗試了不同的代碼(最可能是錯誤的),但沒有任何效果。 嘗試的不同代碼是:

php_value display_errors off
php_value log_errors on

php_value display_errors 0
php_value log_errors 1

500 Internal Server Error的原因是什么?

從這個問題的評論中學習后,我發現.htaccess上的PHP設置不適用於FastCGI。 所以,要更改PHP設置,我需要修改php.ini或者我需要在php代碼中進行修改。 有沒有其他方法,當我無權修改php.ini文件而我不想單獨修改所有PHP文件?

就像上面的評論所說:你需要運行你的php模塊作為動態共享對象才能使它工作,如Apache PHP請求Hanlding文檔中所述

DSO注意事項:

libphp提供Apache指令,如php_ $ value和php_admin_ $ value。 DSO是這些指令在.htaccess文件或httpd.conf中有效的唯一選項 當使用並發DSO補丁編譯這些指令時,它們應該被命名為php4_ $ value和php5_ $ value。

cgi,fcgi,suphp它不起作用。

正如您所發現的那樣,修改.htaccess只適用於apache模塊,它將添加到apache可以理解的指令中。 這不適用於cgi和其他人。

php方式是修改整個站點的php.ini,或者在每個目錄或每個用戶的基礎上修改它。

對於php5.5(不確定其他版本)修改.user.ini文件,在該文件中,您希望應用這些設置的目錄。 顯然,在站點的根目錄中設置它將使其適用於整個站點。

有關.user.ini的信息,請訪問此處: http ://php.net/manual/en/configuration.file.per-user.php

到這里查看指令列表以及可以更改的位置: http//php.net/manual/en/ini.list.php

最后,要檢查您的文件(可能在評論中提到),添加一個phpinfo.php(名稱無關緊要)文件包含

<?php phpinfo() ?>

到目錄,這樣你就可以看到在該目錄中運行的php腳本的設置。

我知道問題已經有一段時間了,但是如果你的.htaccess不包含錯誤,可能是導致你頭疼的評論。

我最近升級了WHM,突然間我在某些頁面上遇到了500個內部服務器錯誤。 在瀏覽完日志之后,我可以看到.htaccess文件是問題,我解決了問題,因為它們是由評論引起的。

這就是為我解決問題的原因。

以前,我在.htaccess文件中有如下命令:

Order Deny,Allow
Deny from 52.87.112.125   # whattheme.com
Deny from 192.163.217.239 # scanwp.net

WHM升級后我開始收到500內部服務器錯誤(可能是apache包含在升級中)。

突然,阿帕奇不喜歡指令中間的評論。 我修改了上面代碼的.htaccess文件,如下所示:

Order Deny,Allow
#  whattheme.com
Deny from 52.87.112.125

#   scanwp.net
Deny from 192.163.217.239

問題解決了。

這可能不是你的問題,但經過狩獵,這個解決方案對我有用。 祝好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM