PHP日志的位置取决于服务器配置(Apache/Nginx/PHP-FPM)及php.ini中的设置,常见路径如下:
/var/log/php-fpm.log(错误日志)、/var/log/php-fpm/access.log(访问日志);/var/log/apache2/error.log(Apache错误日志会包含PHP错误);/var/log/nginx/error.log(Nginx错误日志)或/var/log/php-fpm.log(若使用PHP-FPM);php.ini中配置了error_log指令(如error_log = /var/log/php_errors.log),则需查看指定路径。tail命令实时查看tail -f命令可实时监控日志文件的新增内容,适合快速排查正在发生的错误。常用格式:
# 查看PHP-FPM错误日志
sudo tail -f /var/log/php-fpm.log
# 查看Apache错误日志
sudo tail -f /var/log/apache2/error.log
# 查看Nginx错误日志
sudo tail -f /var/log/nginx/error.log
# 查看自定义日志(需替换为实际路径)
sudo tail -f /var/log/php_errors.log
按Ctrl+C可停止实时监控。
若需查看日志的全部历史内容,可使用nano或less等编辑器(需管理员权限):
# 使用nano查看PHP-FPM日志
sudo nano /var/log/php-fpm.log
# 使用less查看Apache错误日志(支持翻页)
sudo less /var/log/apache2/error.log
在less中,按空格键向下翻页,按b键向上翻页,按q键退出。
phpinfo()确认日志路径若不确定日志位置,可创建一个PHP文件(如info.php),内容为<?php phpinfo(); ?>,将其放置在Web根目录(如/var/www/html),然后通过浏览器访问该文件。在输出的页面中搜索“error_log”,即可找到当前PHP配置的错误日志路径。
若提示“Permission denied”,需使用sudo提升权限,或用ls -l检查日志文件的所属用户(通常为www-data),并通过chown修改权限:
# 修改日志文件所属用户为www-data
sudo chown www-data:www-data /var/log/php_errors.log
# 授权当前用户读取权限
sudo chmod 644 /var/log/php_errors.log
若指定的自定义日志路径不存在,需手动创建并设置权限:
# 创建日志文件
sudo touch /var/log/php_errors.log
# 设置所属用户和权限
sudo chown www-data:www-data /var/log/php_errors.log
sudo chmod 644 /var/log/php_errors.log
同时需确保php.ini中log_errors = On(开启日志记录)且error_log路径正确。
通过以上方法,可快速定位并查看Ubuntu下PHP的配置日志,帮助排查PHP运行中的错误。