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)
Author: rekire, 2012-09-01

3 answers

Я думаю, у вас есть некоторые проблемы с зависимостью. Проверьте свой error.log. Выясните, какой файл отсутствует, и добавьте его в переменную среды path вашей установки php.

 0
Author: rekire, 2012-09-01 09:28:20

Я предполагаю, что вы ожидаете, что $mypdf будет содержать PDF-документ вместо возвращаемого значения выполненной команды. Если вы пытаетесь распечатать'test.txt ', затем вам нужно будет загрузить его и распечатать.

 1
Author: Infiltrator, 2012-09-01 08:54:42

Проблема была: /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

 1
Author: , 2012-09-01 10:16:47