2013-10-19 58 views
0

我試圖將PHP錯誤記錄到日誌文件。我在php.ini中進行了必要的更改,並將日誌文件的權限調整爲777.PHP CLI日誌沒問題,但通過apache沒有。PHP的CLI記錄錯誤的文件,但PHP通過Apache不

  • 我知道使用的php.ini是正確的。我有一個CLI和PHP通過Apache的文件。
  • 我創建了日誌文件,對於測試,我將權限設置爲777.
  • 我在php文件上生成了一個錯誤,但沒有記錄。
  • 我也嘗試過在生成錯誤的同一個文件中檢查phpinfo()是否正確。

的php.ini:

error_log = /var/log/httpd/php.log 
log_errors = On 
error_reporting = E_ALL 

版本:

[[email protected] httpd]# httpd -v 
Server version: Apache/2.2.15 (Unix) 
Server built: Aug 13 2013 17:29:28 

[[email protected] httpd]# php -v 
PHP 5.4.13 (cli) (built: Mar 14 2013 08:57:49) 
Copyright (c) 1997-2013 The PHP Group 
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies 

我已經去了所有的槽類似的問題,但沒有運氣。特別是this one,解決方案是在php.ini中設置日誌的完整路徑。不是這種情況。

+0

如果在文件本身中設置日誌記錄,會發生什麼情況? – 2013-10-19 20:09:53

+0

@Dagon,你的意思是哪個文件? –

+0

你想用來測試它的任何PHP文件的工作 – 2013-10-19 20:32:25

回答

0

如果php用作模塊,Apache會設置自己的日誌文件。換句話說,它取決於apache設置。嘗試在apache配置文件中找到「Log」選項。

0

很可能你有chroot-ed apache或systemd中的某些「helpfull」重定向。

我有同樣的問題,只是搜索系統的文件名。

# find/-name apay_api.log 2>/dev/null 
/mnt/FAST/tmp/systemd-private-edd1fc8681054769ac401c6bd8358fdd-apache2.service-mP51C4/tmp/apay_api.log 

所以它可能是你的情況。

原因是

PrivateTmp=true 

像/usr/lib64/systemd/system/apache2.service文件。