php cron job不会更新php.ini

时间:2012-09-04 17:56:06

标签: apache cron crontab php

我最近修改了php.ini文件中的“include_path”var。在你问之前,我重启了apache服务。我们从Web浏览器访问的每个页面都进行了更改。

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

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

2 个答案:

答案 0 :(得分:1)

多个系统使用单独的php.ini文件进行Web和CLI。您还需要对该版本进行更改:How to find the php.ini file used by the command line?

查找此文件的最简单方法是在命令行运行: 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

您看到的是“加载的配置文件:”,您需要添加更改。

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

答案 1 :(得分:0)

PHP通常有两个.ini文件。一个用于in-webserver(SAPI),另一个用于命令行(CLI)用法。如果您仅修改了SAPI,那么从CLI运行的任何内容(例如cron作业)都不会看到更改。

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