У меня был этот баг на работе сегодня — я не смогу проверить его, пока не вернусь туда после выходных, но подумал, что кто-то может знать ответ от случая к случаю.
У меня есть два сценария, file_1.php и file_2.php. Они расположены в одной папке в моей кодовой базе. Указанная кодовая база включает в себя множество файлов, в том числе глобальный заголовочный файл, который вызывает несколько других файлов и в значительной степени настраивает любой файл для запуска в нашей среде.
Что я хотел бы сделать, это запустить file_2.php из shell_exec()
или же exec()
из file_1.php. Однако, когда я делаю это, file_2.php не распознает файл header.php, если не указан абсолютный путь к файлу, и даже если он указан, не все вызовы других файлов (есть несколько include
s, require
s и т. д. в header.php) успешно, хотя некоторые делают.
В тот момент, когда я оставил его, последний файл, который не был включен, был правильно идентифицирован путем предоставления ему полного пути к файлу (в отличие от только относительного), но я получил ошибку «неопознанная функция» при apache_note()
, которая является функцией в комплекте с PHP.
Я запускаю их из командной строки, и когда я запускаю только test_2.php, он работает нормально, но когда к нему обращаются посредством exec()
из file_2.php, это моя ситуация. Есть что-то, что я пропускаю exec()
? Есть ли способ запустить второй файл, как если бы он находился в той же среде, что и первый? (Я старался putenv()
безуспешно, но, возможно, есть хитрость с этим?
Помощь или идеи очень ценятся, хотя я не смогу проверить в течение нескольких дней. С Днем Благодарения всем;)
Задача ещё не решена.
Других решений пока нет …