0

我最近修改了 php.ini 文件中的“include_path”变量。在你问之前,我重新启动了 apache 服务。该更改适用于我们从 Web 浏览器访问的每个页面。

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

那么有没有办法“重启”crontab?或者也许还有另一个问题?

4

2 回答 2

1

一些系统为 web 和 CLI 使用单独的 php.ini 文件。您还需要在其中进行更改:如何找到命令行使用的 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

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

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

于 2012-09-04T17:57:44.847 回答
0

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

在命令行中执行 aphp -i以查看 PHP 在该模式下在哪里寻找它的 ini 文件。

于 2012-09-04T17:58:15.657 回答