cron file_get_contents()错误

时间:2010-06-04 17:33:08

标签: php command-line cron

我有一个使用file_get_contents()

的php文件

它在浏览器中运行正常,但在作为cron作业运行时失败并出现以下错误:

  

警告:file_get_contents():URL   服务器中禁用了文件访问权限   配置   第22行的/path/to/the/phpfile.php

这就是我正在使用的:

  

/ usr / bin / php5 -q   /path/to/the/phpfile.php

我已经在php.ini中设置了allow_url_fopen = true,但这似乎没有任何效果。

尽管如此,一切都在浏览器中完美运行。如何解决这个问题?

5 个答案:

答案 0 :(得分:2)

  1. php --info | more
  2. 运行并查看它使用的是哪个php.ini(前5行)
  3. 更改 php.ini文件
  4. 或者您可以使用--php-ini /path/to/ini(执行man php)指定要使用的ini文件。

答案 1 :(得分:1)

至少有一些Linux发行版有多个PHP配置(php.ini文件)。 例如,Debian测试有这两个:

/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini

在上面的示例中,不同的PHP配置用于Web调用(通过apache)和命令行调用。

可能是您的问题。

答案 2 :(得分:1)

如果要从远程系统加载文件,则应该使用curl。 file_get_contents不处理网络延迟,重定向或错误捕获。并且在服务器配置中显然是禁用的。

答案 3 :(得分:0)

您可能无意中在系统上拥有多个PHP和/或php.ini副本。你有PC的管理员权限吗?对php进行全局搜索,看看会发生什么。

答案 4 :(得分:0)

而不是使用php -q在你的cron配置中使用php -cron。 它对我有用。