在一臺運行Apache和PHP 5的Linux服務器上,我們有多個具有單獨日誌文件的虛擬主機。我們似乎無法區分虛擬主機之間的php error_log
。error_log?
在httpd.conf
的<Location>
中重寫此設置似乎沒有任何作用。
有沒有辦法讓每個虛擬主機都有單獨的php error_logs
?
在一臺運行Apache和PHP 5的Linux服務器上,我們有多個具有單獨日誌文件的虛擬主機。我們似乎無法區分虛擬主機之間的php error_log
。error_log?
在httpd.conf
的<Location>
中重寫此設置似乎沒有任何作用。
有沒有辦法讓每個虛擬主機都有單獨的php error_logs
?
要設置阿帕奇(不是PHP)登錄,要做到這一點最簡單的方法是做:
<VirtualHost IP:Port>
# Stuff,
# More Stuff,
ErrorLog /path/where/you/want/the/error.log
</VirtualHost>
如果沒有領先的IT假定「/」是相對的。
的默認行爲是error_log中()輸出到Apache的錯誤日誌。如果沒有發生這種情況,請檢查您的php.ini設置是否包含error_log指令 - 不要使用當前虛擬主機的Apache日誌文件。
我會檢查。我只是想知道,如果我們希望開發人員有機會調試他們的代碼而不給他們提供可能包含其他敏感數據的apache錯誤日誌,那麼是否仍然可以將apache和php錯誤日誌分開。 – 2008-08-01 22:31:54
我通常只是在我正在處理的域上的.htaccess
文件或vhost.conf
中指定此項。將其添加到以下文件之一:
php_admin_value error_log "/var/www/vhosts/example.com/error_log"
任何人都可以評論`php_admin_value`和`php_value`之間的區別嗎? – 2014-07-04 01:31:08
我的Apache在httpd.conf中有類似的東西。只需更改ErrorLog和CustomLog設置
<VirtualHost myvhost:80>
ServerAdmin [email protected]
DocumentRoot /opt/web
ServerName myvhost
ErrorLog logs/myvhost-error_log
CustomLog logs/myvhost-access_log common
</VirtualHost>
您是否嘗試將php_value error_log '/path/to/php_error_log
添加到您的VirtualHost配置?
你可以嘗試:
<VirtualHost myvhost:80>
php_value error_log "/var/log/httpd/vhost_php_error_log"
</Virtual Host>
,但我不知道,如果是去工作。我嘗試在我的網站上沒有成功。
是的,你可以試試,
php_value error_log "/var/log/php_log"
在
.htaccess
,或者你可以有用戶在其劇本的開頭使用ini_set()
如果他們希望有記錄。
另一個選擇是啓用腳本以便在腳本文件夾中默認爲php.ini
,然後轉到用戶/主機的根文件夾,然後轉到服務器的根目錄或類似的地方。這將允許主機添加他們自己的php.ini
值和他們自己的error_log
位置。
php_value error_log "/var/log/httpd/vhost_php_error_log"
它適用於我,但我必須更改日誌文件的權限。
或Apache會將日誌寫入其error_log
。
請勿將error_log
設置爲您的syslog
材料所在的位置eg /var/log/apache2
,因爲它們的錯誤將被ErrorLog
攔截。相反,請在您的項目文件夾中創建subdir
日誌,並在php_value
error_log "/path/to/project/logs"
中創建subdir
。這適用於.htaccess
文件和虛擬主機。另外,還要確保你把php_flag
log_errors
上
如果有人來尋找它應該是這樣的:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/domains/example.com/html
ErrorLog /var/www/domains/example.com/apache.error.log
CustomLog /var/www/domains/example.com/apache.access.log common
php_flag log_errors on
php_flag display_errors on
php_value error_reporting 2147483647
php_value error_log /var/www/domains/example.com/php.error.log
</VirtualHost>
這是發展只有自display_error
被打開。您會注意到Apache錯誤日誌與PHP錯誤日誌是分開的。好東西在php.error.log
。
看看這裏的error_reporting
關鍵http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting
這是Apache的錯誤日誌,這是獨立於PHP錯誤日誌(請參閱其他評論) – thelem 2010-11-18 07:48:02
PHP的錯誤日誌默認爲Apache的錯誤日誌。 – helloandre 2012-01-03 19:00:33
相對於什麼?它寫入的`httpd.conf`的目錄,或者? – mb21 2013-09-03 16:11:12