Я полный PHP (LAMP/WAMP/MAMP) noob, и я сталкиваюсь с тем, что, как представляется, является распространенной проблемой среди noob, пытающихся запустить команды оболочки с веб-сервера. У меня есть настройки MAMP на Mac Mini, и я хочу, чтобы собрать вывод из команды Android,PHP shell_exec работает только для определенных команд
adb devices
так что я могу отобразить список устройств, подключенных к моему Mac Mini. всякий раз, когда я передаю команду shell_exec в моем PHP-скрипте, я получаю пустую строку. Я не могу понять, как решить проблему после нескольких поисков в Интернете. Я пробовал работать
shell_exec("who am i")
, который возвращает «Клифтон», имя учетной записи пользователя, которая запустила MAMP. Я подтвердил, что эта же учетная запись пользователя может выполнять команду «adb devices». Инструменты Android устанавливаются в домашней папке этой учетной записи. Я также пробовал передать абсолютный путь к команде. На этом этапе я уверен, что это проблема конфигурации, но я не знаю, что настроить или где.
Это полностью открывает жалюзи! Теперь я получаю: dyld: Символ не найден: __cg_jpeg_resync_to_restart Реферанс из: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib Ожидается в:/Applications/MAMP/Library/lib/libJPEG.dylib в /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib, что предполагает, что либо мой PATH, либо DYLIB_PATH (что бы это ни называлось) неправильно. – Cliff
Извините, я понятия не имею, как это исправить ... – Jeroen
Не стоит беспокоиться, я, вероятно, могу это понять. Это в основном проблема DY_LIBRARY_PATH, в которой процесс должен запускаться правильно. Исполняемый файл dab динамически загружает библиотеки, которые текущий процесс не может найти. Как только я выясню, как правильно запустить MAMP с надлежащими env vars, я буду настроен. – Cliff