php exec () error ... Кто-нибудь знает, что это значит? - PullRequest
6 голосов
/ 06 июня 2011

Я только что установил ffmpeg в Ubuntu, используя это руководство http://ubuntuforums.org/showthread.php?t=786095,, когда я выполняю команду ffmpeg, показанную ниже, она отлично работает в терминале и работает, когда я выполняю php-файл.используя через терминал с помощью команды 'php'.

Однако, когда я пытаюсь выполнить файл с помощью браузера, я получаю следующую ошибку в моем журнале ошибок apache.Если бы кто-нибудь мог дать мне руководство, я был бы очень признателен.

ОШИБКА

/ usr / local / bin / ffmpeg: / opt / lampp / lib/libgcc_s.so.1: версия `GCC_4.2.0 'не найдена (требуется для /usr/lib/i386-linux-gnu/libstdc++.so.6)

код PHP

define ('FFMPEG_LIBRARY', '/ usr / local / bin / ffmpeg');

$ command = shell_exec ('/ usr / local / bin / ffmpeg -i /home/geoff/Desktop/cave.wmv -acodec libfaac -aq 100 -vcodec libx264 -preset slow -crf 22 -threads 0 /home/geoff/Desktop/newvideo.flv');

Ответы [ 4 ]

6 голосов
/ 06 июня 2011

Это сработало для меня.

http://blog.codyjung.com/2011/05/29/problems-with-lampp-and-exec/

Я зашел в /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2

и скопировал libgcc_s.so в

/ opt / lampp / lib и переименовал его в libgcc_s.so.1, чтобы перезаписать предыдущий файл

3 голосов
/ 06 июня 2011

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

Лучше всего строить из исходного кода на машине, с которой вы его используете. Это гарантирует, что ваши библиотеки не будут ссылаться на то, чего нет в вашей системе.

EDIT
На самом деле, ссылка на / opt / lampp заставляет меня думать, что вы не используете стандартную установку веб-сервера, которую вы обычно делаете на сервере Ubuntu, а вместо этого используете lampp. Это может быть источником вашего конфликта - если материал lampp связан не так, как «нормальные» системные библиотеки, то вы не сможете использовать их вместе.

0 голосов
/ 06 июня 2011

Глядя на этот пост: http://fedoraforum.org/forum/showpost.php?p=1375187&postcount=2

Мне кажется, что ваша проблема может быть решена, попробуйте установить PHP из APT-GET вместо LAMPP и посмотреть, решит ли она вашу проблему.

Вы можете получить PHP, APACHE и MySQL:

sudo apt-get install apache2, libapache2-mod-php5, php5, mysql-client, mysql-common, mysql-server
- http://rakeshsankar.wordpress.com/2010/09/10/install-setup-debian-server/
0 голосов
/ 06 июня 2011

Пользователь, под которым работает ваш веб-сервер, не имеет той же среды, что и пользователь вашего терминала. Вам нужно будет добавить / opt / lampp / lib в среду пользователя веб-сервера. Найдите / opt / lampp / lib в /etc/ld.so.conf и файлы в /etc/ld.so.conf.d. Если его там нет, создайте новый файл в /etc/ld.so.conf.d со строкой, содержащей только этот путь. Вам нужно будет перезагрузить веб-сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...