php cron作业没有';t更新php.ini


php cron job doesn't update php.ini

我最近修改了php.ini文件中的"include_path"var。在您询问之前,我已经重新启动了apache服务。更改适用于我们从网络浏览器访问的每一个页面。

问题是,cron工作似乎没有考虑到这一变化。当我在cron作业中执行phpinfo()时,它使用与web服务器相同的php.ini文件,这是我更改的文件,但"include_path"旁边的值是旧的。

那么,有没有办法"重启"crontab?或者可能还有其他问题?

一些系统使用单独的php.ini文件进行web和CLI。您还需要在其中进行更改:如何找到命令行使用的php.ini文件?

找到这个文件最简单的方法是在命令行运行:php--ini,这将导致如下输出:

user@computer:~$ php --ini
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d

您所看到的"加载的配置文件:"是您需要添加更改的地方。

EDIT:另一个选项是在CRON脚本中使用set_include_path()在运行时进行更改。

PHP通常有两个.ini文件。一个用于Web服务器内(SAPI),另一个用于命令行(CLI)使用。如果只修改了SAPI,那么从CLI运行的任何程序(例如cron作业)都不会看到更改。

在命令行执行php -i,查看PHP在该模式下查找其ini文件的位置。