Назад | Перейти на главную страницу

Почему скрипт PHP не может записать файл на сервере 2008 через командную строку или планировщик задач?

У меня есть PHP-скрипт. Он хорошо работает, когда я использую браузер. Он записывает XML-файл в тот же каталог. Для выполнения сценария требуется ~ 60 секунд, а размер результирующего XML-файла составляет ~ 16 МБ.

Я запускаю PHP 5.2.13 через FastCGI на 64-разрядной версии Server 2008.

Я создал задачу в планировщике задач для запуска c: \ php5 \ php.exe "D: \ inetpub \ tools \ something.php"

Ошибка не вернулась, но файл не создан.

Если я запустил тот же путь и аргумент в командной строке, это не приведет к ошибке и не создаст файл.

Я делаю простой fopen fwrite fclose, чтобы сохранить содержимое переменной php в файл .xml, и файл создается только тогда, когда скрипт запускается через браузер.

Спасибо

Скорее всего разрешения. Сначала попробуйте использовать опцию RUN AS Administrator для запуска командной строки, а затем посмотрите, создает ли это ваш файл. Если да, то вы знаете, что это просто разрешения.

Какой пользователь выполняет запланированную задачу? Вам нужно будет предоставить этому пользователю соответствующие разрешения для записи в папку, в которой вы хотите создать файл.

У тебя включен UAC?