访问 PHP 错误日志 - Puphpet 设置的 Vagrant CentOS VM

Access PHP Error Logs - Vagrant CentOS VM setup by Puphpet

我有一个 Vagrant VM 运行ning CentOS,它是从一个 puphpet 文件 (config.yaml) 构建的,我正在尝试获取 PHP 错误日志设置和可访问。

config.yaml - PHP 部分:

php:
install: '1'
settings:
    version: '56'
modules:
    php:
        - cli
        - intl
        - mcrypt
    pear: {  }
    pecl:
        - pecl_http
ini:
    display_errors: Off
    error_reporting: E_ALL & ~E_NOTICE & ~E_STRICT
    session.save_path: /var/lib/php/session
    date.timezone: America/Denver
    log_errors: On
    error_log: /var/log/php_errors.log
fpm_ini:
    error_log: /var/log/php-fpm.log
fpm_pools:
    phpfp_tg4gv8zscipk:
        ini:
            prefix: www
            listen: '127.0.0.1:9000'
            security.limit_extensions: .php
            user: www-user
            group: www-data
composer: '1'
composer_home: ''

/etc/php.d/zzzz_custom.ini

[CUSTOM]
log_errors=true
error_reporting=E_ALL & ~E_NOTICE & ~E_STRICT
session.save_path=/var/lib/php/session
cgi.fix_pathinfo=1
date.timezone=America/Denver
error_log=/var/log/php_errors.log
display_errors=false

/etc/php.ini

error_log = /var/log/php_errors.log
log_errors = On

我完成了:

sudo touch /var/log/php_errors.log
sudo chown www-data: /var/log/php_errors.log
sudo chmod +rw /var/log/php_errors.log

当我 运行 以下内容时,我什么也得不到:

sudo tail -f /var/log/php_errors.log

我知道应该有 PHP 错误,因为我在某个文件中明确创建它们进行测试,例如使用未声明的函数等

我也试过不在 config.yaml 和 php.ini 文件中设置 error_log 以查看默认设置是否有效,因为我认为它会转储 PHP 错误变成 /var/log/httpd/error_log.

我真的不知道从这里去哪里。非常感谢任何帮助!

首先要做的是:

phpinfo(); 
exit; 

进入您的 index.php 文件并在其中查找 error_log 设置。然后至少你会知道 php 认为它在做什么,而不仅仅是知道 puphpet 可能告诉 php 做什么。

希望对您有所帮助。

如果您让 Puphpet 创建您的 vhost 文件,请检查其中指定的错误日志。前一段时间我遇到了这个问题,当我在 /var/log.

中查看所有 nginx 日志时发现了额外的错误日志

对于 nginxapache,您应该分别检查 vhost 文件的内容 /etc/nginx/sites-available//etc/apache2/sites-available/