PHP exec () работает как будто в неправильной среде

У меня был этот баг на работе сегодня — я не смогу проверить его, пока не вернусь туда после выходных, но подумал, что кто-то может знать ответ от случая к случаю.

У меня есть два сценария, file_1.php и file_2.php. Они расположены в одной папке в моей кодовой базе. Указанная кодовая база включает в себя множество файлов, в том числе глобальный заголовочный файл, который вызывает несколько других файлов и в значительной степени настраивает любой файл для запуска в нашей среде.

Что я хотел бы сделать, это запустить file_2.php из shell_exec() или же exec() из file_1.php. Однако, когда я делаю это, file_2.php не распознает файл header.php, если не указан абсолютный путь к файлу, и даже если он указан, не все вызовы других файлов (есть несколько includes, requires и т. д. в header.php) успешно, хотя некоторые делают.

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

Я запускаю их из командной строки, и когда я запускаю только test_2.php, он работает нормально, но когда к нему обращаются посредством exec() из file_2.php, это моя ситуация. Есть что-то, что я пропускаю exec()? Есть ли способ запустить второй файл, как если бы он находился в той же среде, что и первый? (Я старался putenv() безуспешно, но, возможно, есть хитрость с этим?

Помощь или идеи очень ценятся, хотя я не смогу проверить в течение нескольких дней. С Днем Благодарения всем;)

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]