DigitalOcean服务器FPM/FastCGI环境下找不到对应php.ini文件求助
定位PHP-FPM环境下实际加载的php.ini文件
针对你遇到的phpinfo()显示路径不存在、现有ini文件配置不匹配的问题,试试以下几种方法:
检查PHP-FPM配置文件
- 找到PHP-FPM的核心配置文件,常见路径为
/etc/php/7.4/fpm/php-fpm.conf或/etc/php/7.4/fpm/pool.d/www.conf - 在文件中搜索
php.ini相关配置,比如php_admin_value[php.ini]或者启动参数里的-c/--php-ini,这里会标注实际加载的ini文件路径 - 若未找到明确路径,查看
include指令,可能存在引入的子配置文件包含相关设置
- 找到PHP-FPM的核心配置文件,常见路径为
查看PHP-FPM进程启动参数
执行以下命令,从进程信息中提取实际加载的ini路径:ps aux | grep php-fpm输出的进程启动命令中,
-c或--php-ini参数后紧跟的就是目标文件路径用PHP脚本直接获取路径
创建一个名为check_ini.php的脚本,内容如下:<?php // 输出当前加载的php.ini绝对路径 echo php_ini_loaded_file(); echo "<br>"; // 输出额外扫描的ini配置文件目录 echo php_ini_scanned_files(); ?>通过浏览器访问该脚本,获取的路径是PHP运行时实际加载的,比phpinfo()显示的编译默认路径更准确
遍历系统所有php.ini文件
执行命令列出系统中所有php.ini文件,再对比配置项匹配phpinfo()的结果:find / -name php.ini 2>/dev/null重点对比
memory_limit、upload_max_filesize等你能从phpinfo()中看到的配置项,找到内容一致的文件检查额外配置扫描目录
部分系统会让PHP-FPM扫描额外的ini目录(比如/etc/php/7.4/fpm/conf.d/),目录下的.ini文件会覆盖主配置。你可以查看这些文件中的设置是否与phpinfo()显示的一致
内容的提问来源于stack exchange,提问作者silentcoder
相关产品推荐
相关产品推荐

