shell exec() не выполняет команду pdftotext
Я установил необходимую библиотеку и ее работу в терминале, но не в моем php-файле. Мой код:
$mypdf = shell_exec('/usr/local/bin/pdftotext test.pdf test.txt');
echo $mypdf;
Если я выполню эту команду /usr/local/bin/pdftotext test.pdf test.txt
в терминале, она будет работать нормально.
Я также пишу свой код такого типа:
shell_exec('/usr/local/bin/pdftotext test.pdf test.txt');
$mypdf = file_get_contents("test.txt");
echo $mypdf;
В журнале ошибок отображается следующее сообщение:
/usr/local/bin/pdftotext: /opt/lampp/lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/i386-linux-gnu/libstdc++.so.6)
3 answers
Я думаю, у вас есть некоторые проблемы с зависимостью. Проверьте свой error.log
. Выясните, какой файл отсутствует, и добавьте его в переменную среды path вашей установки php.
Я предполагаю, что вы ожидаете, что $mypdf
будет содержать PDF-документ вместо возвращаемого значения выполненной команды. Если вы пытаетесь распечатать'test.txt ', затем вам нужно будет загрузить его и распечатать.
Проблема была: /usr/local/bin/pdftotext: /opt/lampp/lib/libgcc_s.so.1: version 'GCC_4.2.0' not found (required by /usr/lib/i386-linux-gnu/libstdc++.so.6)
И решением было переименовать /opt/lampp/lib/libgcc_s.so.1
в libgcc_s.so.1.bak
и решить мою проблему. Но путаница в том, что в этом была проблема: P