2016-05-12 87 views
1

我有一個時間的野獸試圖讓我的PHP error_log()調用實際上記錄任何東西。我使用OSX El Capitan,安裝了所有最新的更新(我現在在10.11.4),但error_log()調用只是拒絕寫任何東西。PHP error_log()不寫入日誌 - OSX埃爾卡皮坦

下面是我如何我的httpd-vhosts.conf設置:

NameVirtualHost *:80 

<VirtualHost local.mysite:80> 
ServerAdmin [email protected] 
DocumentRoot "/Volumes/Coding/mysite/" 
ServerName local.mysite:80 
<directory "/Volumes/Coding/mysite/"> 
Options Indexes FollowSymLinks 
AllowOverride All 
Order allow,deny 
Allow from all 
Require all granted 
</directory> 
php_value error_log "/Volumes/Coding/mysite/error.log" 
CustomLog "/Volumes/Coding/mysite/access.log" common 
</VirtualHost> 

error.log文件的權限是這樣的,任何人在刻着宇宙可以爲所欲爲刻着它想要的,所以這不是一個權限問題。

php.ini文件確認錯誤日誌文件正好在上面指定的位置。

我用笨3.在config.php文件,我有這行:

$config['log_threshold'] = 4; 
$config['log_path'] = '/Volumes/Coding/mysite/error.log'; 

的「mysite的」文件夾中也有它的權限設置爲允許寫入。

那麼還有什麼我應該檢查?

+0

你正在運行'mod_php'嗎? 'php_value'條目僅在使用該模塊時有效,而不適用於任何CGI庫/擴展名。你爲什麼不嘗試在你的docroot中使用['.user.ini'](http://php.net/manual/en/configuration.file.per-user.php)文件而不是 – Phil

+0

?我的httpd.conf: LoadModule php5_module libexec/apache2/libphp5.so 這告訴我,是的,這是mod_php。 – dauber

回答

0

嗯,這是一個體驗...

原來,日誌默認是關閉的,並且沒有php.ini中啓用它。我加了php.ini中,僅僅有這一行:

log_errors = On 

我扔了一個測試error_log中()到index.php文件,並...它的工作!但是,我放入的其他error_log()命令沒有啓動。

經過一番掙扎之後,事實證明我完全忘記了error_log()沒有被觸發的代碼是......不再使用的代碼!我忘了我將該功能移到了AngularJS上...

無論如何,問題解決了!