PHP 8.2-FPM中PHPRC无法覆盖默认加载配置文件的问题求助
PHP 8.2-FPM中PHPRC无法覆盖默认加载配置文件的问题求助
大家好,我现在遇到了一个搞不定的问题,想请各位帮忙排查下:我用的是PHP 8.2-FPM搭配Nginx,本来想通过PHPRC环境变量指定自定义的php.ini文件,但折腾了半天,phpinfo()里的Loaded Configuration File还是指向默认路径,完全没生效,具体情况如下:
我已经做的配置操作:
1. Nginx配置修改
在处理PHP请求的location块中,我添加了两个fastcgi参数,完整配置如下:
location ~ \.php$ { include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; fastcgi_index index.php; fastcgi_param PHPRC /var/www/website/php.ini; fastcgi_param PHP_INI_SCAN_DIR /var/www/website; }
单独说的话,就是新增了这两行:fastcgi_param PHPRC /var/www/website/php.ini;fastcgi_param PHP_INI_SCAN_DIR /var/www/website;
2. PHP-FPM池配置修改
在/etc/php/8.2/fpm/pool.d/www.conf这个池配置文件里,我也设置了对应的参数:php_admin_value[PHPRC] = /var/www/website/php.iniphp_admin_value[PHP_INI_SCAN_DIR] = /var/www/website
3. 重启相关服务
改完所有配置后,我已经先后重启了Nginx和PHP-FPM服务:
sudo systemctl restart nginx sudo systemctl restart php8.2-fpm
当前的异常现象:
- 查看phpinfo()的PHP Variables区域时,
$_SERVER['PHPRC']确实显示为/var/www/website/php.ini,说明这个变量已经正确传递了 - 但Loaded Configuration File这一项仍然指向默认的
/etc/php/8.2/cgi/php.ini,自定义的php.ini完全没被加载进来
有没有朋友遇到过类似的问题?或者能帮我看看哪里配置错了?
备注:内容来源于stack exchange,提问作者Seyhmus
相关产品推荐
相关产品推荐

