#php #linux #apache #ubuntu
#php #linux #апач #убунту #apache #ubuntu
Вопрос:
Я только что установил 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 -предустановленное замедление -crf 22 -потоков 0 / home / geoff/ Desktop/newvideo.flv’);
Ответ №1:
У меня это сработало.
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, чтобы перезаписать предыдущий файл
Комментарии:
1. Это тоже помогло мне, быстро и грязно. Конечно, было бы лучше не использовать /opt / lampp, но зачем менять (в противном случае) работающую систему?
2. Мне это тоже помогло… 1 для вас.
Ответ №2:
Похоже, у вас возникли некоторые проблемы с версией зависимости. Я предполагаю, что вы скопировали библиотеки с какого-то другого сервера, который использовал другую версию основных системных файлов, чем эта.
Лучше всего выполнять сборку из исходного кода на компьютере, с которого вы его используете. Это гарантирует, что ваши библиотеки не будут ссылаться на что-то, чего нет в вашей системе.
Редактировать
И на самом деле, ссылка на /opt / lampp заставляет меня думать, что вы не используете стандартную установку веб-сервера, которую вы обычно устанавливаете на сервере Ubuntu, а вместо этого используете lampp. Это может быть источником вашего конфликта — если материал lampp связан иначе, чем «обычные» системные библиотеки, то вы, возможно, не сможете использовать их вместе.
Комментарии:
1. Вы говорите о библиотеках FFMPEG? Я просто следовал руководству. Это потому, что я использовал git clone? Итак, вы говорите, что я должен удалить и использовать synaptic file manager для поиска в этих библиотеках? Что, если бы я использовал CentOS вместо Ubuntu? Как бы я тогда получил эти библиотеки? apt-get?
2. Какова стандартная установка веб-сервера? На моем домашнем компьютере я использую его для тестирования, поэтому я использую lampp? Есть ли другой способ?
Ответ №3:
Пользователь, под которым работает ваш веб-сервер, не имеет той же среды, что и пользователь вашего терминала. Вам нужно будет добавить / opt / lampp / lib в пользовательскую среду веб-сервера. Найдите /opt/lampp/lib в /etc/ld.so.conf и файлы в /etc/ld.so.conf.d. Если его там нет, создайте новый файл в /etc/ld.so.conf.d со строкой, содержащей только этот путь. Вам нужно будет перезапустить веб-сервер.
Комментарии:
1. Имеет ли значение, как называется файл?
2. Я создал файл с именем addir.conf в /etc / ld.so.conf.d со строкой /opt / lampp / lib и перезапустил сервер, и я все еще получаю ту же ошибку в своем журнале.
Ответ №4:
Просматривая этот пост:http://fedoraforum.org/forum/showpost.php?p=1375187amp;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/
Комментарии:
1. Невозможно просто скопировать и вставить отсутствующий файл? Я использую lampp только из-за его простоты использования и phpmyadmin. Как я буду администрировать свой сервер и базу данных mysql, если я только установлю пакеты?
2. Простите мое невежество. Как установка всего стека lamp решит проблему зависимости с ffmpeg?
3. Иногда версия стека LAMP, скомпилированная из исходного кода LAMPP, использовала бы старые библиотеки для компиляции (PHP, MySQL и т.д.). Эти зависимости могут быть устранены, если он установлен напрямую. Я вижу, что @Scarface решил проблему, скопировав файлы GCC — и то же самое произошло бы, если бы LAMP stack устанавливался отдельно.