В настоящее время я создаю класс в PHP, который генерирует документы PDF с помощью приложения WKHTMLTOPDF для командной строки.
Для этого я использую вызов shell_exec для вызоваИсполняемый файл WKHTMLTOPDF.Однако этот конкретный вызов не выполняется;он возвращает NULL почти мгновенно.
Небольшой тест, который я сделал, дал мне следующие результаты:
var_dump(shell_exec('ping nu.nl'));
// This prints a string, containting the expected output of the ping command
var_dump(shell_exec('"c:/wkhtmltopdf/wkhtmltopdf.exe" --orientation "Landscape" --page-size "A2" --margin-top "25mm" --margin-left "20mm" --margin-bottom "20mm" --margin-right "20mm" "http://www.nu.nl/" "C:/Temp/1280310218.pdf"'));
// This prints NULL
Итак, shell_exec()
, кажется, работает, также safe_mode
выключен, ивставка полной команды в cmd.exe выполняет для правильного выполнения команды.
Если проблема не связана ни с одним из перечисленных действий (безопасный режим, неисправная команда или shell_exec()
)) что еще это может быть?Все, о чем я могу думать, - это проблема прав пользователя, но и исполняемый файл, и каталог, в котором он находится, имеют параметры полного доступа для каждой группы пользователей в моей системе.
(Примечание. Хотя я занимаюсь разработкой на компьютере под управлением Windowsэтот код будет работать на сервере Linux в производственной среде. Следовательно, решения только для окон - это не то, что я ищу, если, конечно, сама эта проблема не связана с окнами)