You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置使PHP浏览器环境与CLI环境共用同一php.ini文件?

解决PHP Web环境与CLI环境共享php.ini及扩展的问题

步骤1:确认Web环境的PHP配置文件路径

在浏览器中执行dd(phpinfo()),找到Loaded Configuration File和Scan for additional .ini files in两行,记录对应路径(Web环境的PHP配置通常在/etc/php/7.4/fpm/或/etc/php/7.4/apache2/目录下)。

步骤2:备份Web环境原配置文件

先备份Web环境的php.ini,避免配置丢失:

# 替换为你找到的Web环境php.ini实际路径
sudo cp /etc/php/7.4/fpm/php.ini /etc/php/7.4/fpm/php.ini.bak

步骤3:将Web环境php.ini链接到CLI的配置文件

通过软链接让Web环境直接使用CLI的php.ini:

# 第一个路径是CLI的php.ini,第二个是Web环境的php.ini路径
sudo ln -sf /etc/php/7.4/cli/php.ini /etc/php/7.4/fpm/php.ini

步骤4:同步扩展配置文件

CLI的扩展配置存放在/etc/php/7.4/cli/conf.d/,需将目标扩展的.ini文件同步到Web环境的conf.d目录:

# 替换为你要同步的扩展配置文件名,例如your-extension.ini
sudo ln -sf /etc/php/7.4/cli/conf.d/your-extension.ini /etc/php/7.4/fpm/conf.d/

若需同步所有CLI扩展配置,可直接替换Web环境的conf.d目录(注意:Web特有配置可能被覆盖,需提前备份):

sudo mv /etc/php/7.4/fpm/conf.d /etc/php/7.4/fpm/conf.d.bak
sudo ln -sf /etc/php/7.4/cli/conf.d /etc/php/7.4/fpm/conf.d

步骤5:重启相关服务

根据你的Web服务器类型,重启PHP-FPM和Web服务:

# Nginx + PHP-FPM环境
sudo systemctl restart php7.4-fpm nginx

# Apache环境
sudo systemctl restart apache2

注意事项

  • 部分配置项(如max_execution_time、memory_limit)在Web和CLI环境需求不同,直接共享php.ini可能引发Web性能或安全问题。可在Web环境的conf.d目录下新建高优先级配置文件(如99-web-overrides.ini),单独设置Web专属参数:
    max_execution_time = 30
    memory_limit = 256M
    
  • 验证配置:在浏览器中执行get_loaded_extensions()查看扩展是否加载成功,同时检查phpinfo()中的配置文件路径是否已更新为CLI的php.ini。

内容的提问来源于stack exchange,提问作者Kenneth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 08:35:20