在Ubuntu上配置PHP-FPM错误页面,可以通过修改PHP-FPM的配置文件和Nginx或Apache的配置文件来实现。以下是具体步骤:
编辑PHP-FPM配置文件:
打开/etc/php/7.x/fpm/pool.d/www.conf(将7.x替换为你的PHP版本)。
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
找到并修改以下行:
catch_workers_output = yes
这将允许PHP-FPM捕获错误输出。
配置Nginx:
打开Nginx的站点配置文件,通常位于/etc/nginx/sites-available/your-site。
sudo nano /etc/nginx/sites-available/your-site
在server块中添加以下配置:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.x-fpm.sock; # 将7.x替换为你的PHP版本
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param PHP_VALUE "error_log=/var/log/php-fpm/error.log";
fastcgi_param PHP_ADMIN_VALUE "error_log=/var/log/php-fpm/error.log";
}
然后重启Nginx:
sudo systemctl restart nginx
自定义错误页面:
创建一个自定义的错误页面文件,例如/var/www/html/error.php。
<?php
echo "Oops! Something went wrong.";
?>
确保该文件的权限正确:
sudo chown www-data:www-data /var/www/html/error.php
sudo chmod 644 /var/www/html/error.php
编辑PHP-FPM配置文件:
打开/etc/php/7.x/fpm/pool.d/www.conf(将7.x替换为你的PHP版本)。
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
找到并修改以下行:
catch_workers_output = yes
这将允许PHP-FPM捕获错误输出。
配置Apache:
打开Apache的站点配置文件,通常位于/etc/apache2/sites-available/your-site.conf。
sudo nano /etc/apache2/sites-available/your-site.conf
在<VirtualHost>块中添加以下配置:
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php7.x-fpm.sock|fcgi://localhost"
php_value error_log /var/log/php-fpm/error.log
php_admin_value error_log /var/log/php-fpm/error.log
</FilesMatch>
然后重启Apache:
sudo systemctl restart apache2
自定义错误页面:
创建一个自定义的错误页面文件,例如/var/www/html/error.php。
<?php
echo "Oops! Something went wrong.";
?>
确保该文件的权限正确:
sudo chown www-data:www-data /var/www/html/error.php
sudo chmod 644 /var/www/html/error.php
通过以上步骤,你可以在Ubuntu上配置PHP-FPM错误页面,并自定义错误信息。