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

Ubuntu升级PHP 5.x至7.2后,Cron定时发送PHP启动警告邮件

解决Ubuntu 14.04升级PHP到7.2后Cron发送sessionclean警告邮件的问题

我之前帮不少人处理过这个问题——你遇到的情况本质是PHP升级后旧配置残留,加上cron里的sessionclean脚本没适配新的PHP版本导致的:邮件里提到的php_intl.dll是Windows平台的PHP扩展(Linux下根本不会用这个后缀),而且路径/usr/lib/php/20131226/是PHP5.x的扩展目录(PHP7.2对应的是/usr/lib/php/20170718/),显然是旧的PHP5配置还在被调用。

下面是一步步解决的方法:

1. 清理残留的PHP5.x扩展配置

首先找到所有和intl相关的旧配置文件:

sudo find /etc/php -name "*intl*.ini"

执行后会列出所有包含intl的配置文件,比如/etc/php/5.6/mods-available/intl.ini或者/etc/php5/conf.d/20-intl.ini这类属于PHP5的文件。处理方式二选一:

  • 直接删除旧配置文件:
    sudo rm /etc/php/5.6/mods-available/intl.ini
    
  • 或者注释掉配置里的错误行(不想删除的话):
    sudo sed -i 's/extension=php_intl.dll/;extension=php_intl.dll/' /path/to/your/old/intl.ini
    

2. 让sessionclean脚本使用PHP7.2

默认的sessionclean可能还在调用系统旧的PHP版本,先确认当前默认PHP:

php -v

如果显示的是PHP5.x,就把默认PHP切换到7.2:

sudo update-alternatives --set php /usr/bin/php7.2

更稳妥的方式是直接修改sessionclean脚本,指定PHP7.2的绝对路径:

sudo nano /usr/lib/php/sessionclean

找到脚本里所有调用php的地方,替换成/usr/bin/php7.2,保存后退出。

3. 验证修复效果

手动执行cron里的命令,确认没有警告输出:

[ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi

如果没有任何报错,说明问题已经解决,接下来不会再收到cron的警告邮件了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:17:38