CentOS 7 - установка ffmpeg и php-ffmpeg: различия между версиями

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Перейти к:навигация, поиск
 
Строка 56: Строка 56:
 
==== Установка php-ffmpeg для другой версии PHP (/opt/remi/php55/root/bin/php) ====
 
==== Установка php-ffmpeg для другой версии PHP (/opt/remi/php55/root/bin/php) ====
  
Более слолжна задача - если стоит другая версия PHP в системе, например, /opt/remi/php55/root/bin/php. Основное отличие от основного процесса сборки php-ffmpeg - это при выполнении configure указать пусть к '''php-config''' второй версии PHP:
+
Более сложная задача - если стоит другая версия PHP в системе, например, '''/opt/remi/php55/root/bin/php'''. Основное отличие от основного процесса сборки php-ffmpeg - это при выполнении configure указать пусть к '''php-config''' второй версии PHP:
 
  ./configure --with-php-config=/opt/remi/php55/root/bin/php-config
 
  ./configure --with-php-config=/opt/remi/php55/root/bin/php-config
  
Алгоритм сборки php-ffmpeg для /opt/remi/php55/root/bin/php:
+
Полный алгоритм сборки php-ffmpeg для /opt/remi/php55/root/bin/php:
 
  # cd /root/
 
  # cd /root/
 
  # git clone https://github.com/tony2001/ffmpeg-php.git
 
  # git clone https://github.com/tony2001/ffmpeg-php.git
 
  # cd ffmpeg-php
 
  # cd ffmpeg-php
  # phpize
+
  # /opt/remi/php55/root/bin/phpize
 
  # ./configure --with-php-config=/opt/remi/php55/root/bin/php-config
 
  # ./configure --with-php-config=/opt/remi/php55/root/bin/php-config
 
  # make && make install
 
  # make && make install

Текущая версия на 11:23, 6 апреля 2020

Доступная цена

Установка FFMPEG и FFMPEG-DEVEL на CentOS 7 для PHP 5.X

Материал актуальный только для php 5.X версий на CentOS 7 и не работает для php 7.x версий.


1) Подключить репозиторий EPEL

2) Подключить репозиторий Nux:

# rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

3) Установить бинарники ffmpeg и ffmpeg-devel:

#  yum install ffmpeg ffmpeg-compat ffmpeg-compat-devel ffmpeg-devel ffmpeg-libs

4) Обязательно скопировать либы от ffmpeg-devel в /usr/include/ (потребуется для сборки php-ffmpeg):

# cp -r /usr/include/ffmpeg/* /usr/include/

5) Проверяем версию ffmpeg:

 # ffmpeg -v
ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers


Установка php-ffmpeg на CentOS 7

1) Доустановить GIT:

# yum install git -y

2) Качаем исходники ffmpeg-php

# cd /root/
# git clone https://github.com/tony2001/ffmpeg-php.git


3) Устанавливаем компилятор и утилиты для сборки бинарника:

# yum install php-devel gcc


4) Собираем пакет и устанавливаем:

 # cd ffmpeg-php
# phpize
# ./configure
# make && make install


5) Подключаем расширение ffmpeg к PHP и рестартим Apache:

# echo "extension=ffmpeg.so" >> /etc/php.d/ffmpeg.ini
# systemctl restart httpd


6) Проверяем наличие ffmpeg для PHP:

# php -m | grep ffmpeg
ffmpeg

Установка php-ffmpeg для другой версии PHP (/opt/remi/php55/root/bin/php)

Более сложная задача - если стоит другая версия PHP в системе, например, /opt/remi/php55/root/bin/php. Основное отличие от основного процесса сборки php-ffmpeg - это при выполнении configure указать пусть к php-config второй версии PHP:

./configure --with-php-config=/opt/remi/php55/root/bin/php-config

Полный алгоритм сборки php-ffmpeg для /opt/remi/php55/root/bin/php:

# cd /root/
# git clone https://github.com/tony2001/ffmpeg-php.git
# cd ffmpeg-php
# /opt/remi/php55/root/bin/phpize
# ./configure --with-php-config=/opt/remi/php55/root/bin/php-config
# make && make install
# echo "extension=ffmpeg.so" >> /opt/remi/php55/root/etc/php.ini
# /opt/remi/php55/root/bin/php -m | grep ffmpeg
# systemctl restart httpd


Установка FFMPEG и FFMPEG-DEVEL на CentOS 7 для PHP 7.X

Для php 7.X - сборка в данный момент не работает, так как конфликтирует с Zend и на этапе make вываливается с ошибкой:

 /root/ffmpeg-php/ffmpeg_movie.c:1121:5: error: too many arguments to function 'zend_hash_find'
    GET_MOVIE_RESOURCE(ffmovie_ctx);
/root/ffmpeg-php/ffmpeg_movie.c:883:5: warning: passing argument 2 of 'zend_hash_find' from incompatible pointer type [enabled by default]
    GET_MOVIE_RESOURCE(ffmovie_ctx);