2016-09-30 12 views
0

У меня есть Fetch.exe на моем Windows Server, в командной строке, запущенной Fetch.exe, возвращает некоторый текстовый вывод в консоли.Пишите в файл по PHP

Я хочу, чтобы обернуть Fetch.exe в exec РНР, а также генерировать result.txt:

exec("Fetch/Fetch.exe > C:/inetpub/testaddbbacom/test/result.txt"); 

Тест показывает, что result.txt был действительно создан, однако, она пуста.

Затем я создал простой try.bat в той же папке:

enter image description here

Аналогично, пустой result.txt генерируется.

В отличие от этого, exec("echo 123 > C:/inetpub/testaddbbacom/test/result.txt") отлично работает.

Кто-нибудь знает, что случилось?

Update 1: Вот разрешение папки Fetch, пользователь имеет все разрешения:

enter image description here

+0

Вероятно, выход 'Fetch.exe' изменяется в зависимости от пользователя, выполняющего его, или пользователь, который выполняет PHP не имеет разрешения на его выполнение. –

+0

См. Мое обновление ... У пользователей есть все разрешения ... – SoftTimur

+0

Является ли ваш php-скрипт в каталоге testaddbbacom? – jlgsoftware

ответ

0

Если строка путь идет в двойные кавычки, вы должны бежать обратную косую черту, если это вы не используете одиночные кавычки. вы можете переписать вызов exec: exec ('C: \ inetpu \ testaddbbacom \ Fetch \ Fetch.exe> ​​C: /inetpub/testaddbbacom/test/result.txt') или exec ('C:/inetpu/testaddbbacom/Fetch/Fetch.exe> ​​C: /inetpub/testaddbbacom/test/result.txt ') - @jlgsoftware

Смежные вопросы