cron file_get_contents () ошибка - PullRequest
       20

cron file_get_contents () ошибка

3 голосов
/ 04 июня 2010

У меня есть php-файл, который использует file_get_contents()

Он отлично работает в браузере, но завершается с ошибкой при запуске как задание cron:

Предупреждение: file_get_contents (): URL доступ к файлу отключен на сервере конфигурация в /path/to/the/phpfile.php в строке 22 * ​​1007 *

Вот что я использую:

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

Я уже установил allow_url_fopen = true в php.ini, но это, похоже, не имеет никакого эффекта.

В браузере все отлично работает. Как это можно исправить?

Ответы [ 5 ]

2 голосов
/ 04 июня 2010
  1. До php --info | more
  2. запустите и посмотрите, какой php.ini он использует (верхние 5 строк)
  3. изменить этот файл php.ini

Или вы можете использовать --php-ini /path/to/ini (do man php) для указания INI-файла, который вы хотите использовать.

1 голос
/ 04 июня 2010

Если вы загружаете файл из удаленной системы, вам следует использовать curl. file_get_contents не обрабатывает сетевые задержки, перенаправления или захват ошибок. И, очевидно, отключить в конфигурации сервера.

1 голос
/ 04 июня 2010

По крайней мере, некоторые дистрибутивы Linux имеют несколько конфигураций PHP (файлы php.ini). Например, в тестировании Debian есть два:

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

В приведенном выше примере различные конфигурации PHP используются для веб-вызова (через apache) и для вызова из командной строки.

Это может быть вашей проблемой.

0 голосов
/ 13 ноября 2012

Вместо использования php -q используйте php -cron в вашей конфигурации cron. У меня это работает.

0 голосов
/ 04 июня 2010

В системе может быть непреднамеренно несколько копий PHP и / или php.ini. У вас есть права администратора на ПК? Сделайте глобальный поиск для php и посмотрите, что получится.

...