У меня есть php-файл с вызовом shell_exec.Функции shell_exec запускают файл .sh.
#!/bin/bash
filename=$(ls *.jpg -Art | tail -n 1)
codegen_dir=/usr/local/codegen/
cd "$codegen_dir"
out=$(./classifier /var/www/$filename)
echo $out
Исполняемый файл-классификатор существует в codegen_dir и имеет 1 зависимость от общей библиотеки.Скрипт корректно запускается из командной строки.Файл php также правильно запускается из командной строки.однако, когда я запускаю php-файл как запрос http, в std_err я получаю следующее:
"./ classifier: ошибка при загрузке общих библиотек: libreader.so: не удается открыть файл общего объекта: такого файла нет иликаталог "
.so файл находится в том же каталоге, что и исполняемый файл
Мой корень php-сервера: / var / www
- Все файлы на сервереroot имеет разрешения: -rwxrwxrwx 1 www-data www-data
- Все файлы в 'codegen_dir' имеют разрешения: -rwxrwxrwx 1 ubuntu www-data
- Я могу читать другие файлыв codegen_dir