LinuxForum.Fans
Тема

php-ffmpeg установка

Автор: feqan_celebizade 9 сообщений 1436 просмотров
21.02.2015 19:19 #415207

привет. у меня сервер Centos 7, x64 , directadmin , php-fpm55, php-fpm54
надо установить php-ffmpeg. ffmpeg установил, но для php-ffmpeg не смог найти установку для Centos 7, x64.
рабочую инструкцию видали?

21.02.2015 19:49 #415210
text
error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the --enable-shared option

от чего это?

21.02.2015 22:18 · отредактировано #415224
feqan.celebizade написал:
text
error: ffmpeg headers not found. Make sure ffmpeg is compiled as shared libraries using the --enable-shared option

от чего это?

Нету заголовочных файлов.
Установите их
[console]# yum install ffmpeg-devel[/console]

23.02.2015 22:26 #415495
"AntiduPb" написал:
Нету заголовочных файлов.
Установите их

спасибо) у меня не получилось, вместо меня делали. теперь проблема в ffmpeg-php gd support => disabled

[console]
[root@62949 src]# php --info | grep ffmpeg-php
ffmpeg-php version => 0.7.0
ffmpeg-php built on => Feb 21 2015 19:46:58
ffmpeg-php gd support => disabled
OLDPWD => /usr/local/src/ffmpeg-php-0.6.0
_SERVER["OLDPWD"] => /usr/local/src/ffmpeg-php-0.6.0
[root@62949 src]#
[/console]

как мне его включить?

погуглил нашел что надо переустановить с параметром ./configure --enable-skip-gd-check
у меня сейчас стоит версия 0.7.0.
при рекопмилации ffmpeg-php-0.6.0 выводит ошибку

[console][root@62949 ffmpeg-php-0.6.0]# make
/bin/sh /usr/local/src/ffmpeg-php-0.6.0/libtool --mode=compile cc -I. -I/usr/local/src/ffmpeg-php-0.6.0 -DPHP_ATOM_INC -I/usr/local/src/ffmpeg-php-0.6.0/include -I/usr/local/src/ffmpeg-php-0.6.0/main -I/usr/local/src/ffmpeg-php-0.6.0 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/libavcodec/ -I/usr/include/libavformat/ -I/usr/include/libavutil/ -I/usr/include/libswscale/ -I/usr/include/libavfilter/ -I/usr/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c -o ffmpeg-php.lo
mkdir .libs
cc -I. -I/usr/local/src/ffmpeg-php-0.6.0 -DPHP_ATOM_INC -I/usr/local/src/ffmpeg-php-0.6.0/include -I/usr/local/src/ffmpeg-php-0.6.0/main -I/usr/local/src/ffmpeg-php-0.6.0 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/libavcodec/ -I/usr/include/libavformat/ -I/usr/include/libavutil/ -I/usr/include/libswscale/ -I/usr/include/libavfilter/ -I/usr/include/libavdevice/ -DHAVE_CONFIG_H -g -O2 -Wall -fno-strict-aliasing -c /usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c -fPIC -DPIC -o .libs/ffmpeg-php.o
In file included from /usr/include/sys/stat.h:106:0,
from /usr/local/include/php/main/php_streams.h:28,
from /usr/local/include/php/main/php.h:396,
from /usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c:40:
/usr/include/bits/stat.h:91:21: error: field ‘st_atim’ has incomplete type
struct timespec st_atim; /* Time of last access. */
^
/usr/include/bits/stat.h:92:21: error: field ‘st_mtim’ has incomplete type
struct timespec st_mtim; /* Time of last modification. */
^
/usr/include/bits/stat.h:93:21: error: field ‘st_ctim’ has incomplete type
struct timespec st_ctim; /* Time of last status change. */
^
/usr/include/bits/stat.h:152:21: error: field ‘st_atim’ has incomplete type
struct timespec st_atim; /* Time of last access. */
^
/usr/include/bits/stat.h:153:21: error: field ‘st_mtim’ has incomplete type
struct timespec st_mtim; /* Time of last modification. */
^
/usr/include/bits/stat.h:154:21: error: field ‘st_ctim’ has incomplete type
struct timespec st_ctim; /* Time of last status change. */
^
In file included from /usr/local/include/php/main/php_streams.h:28:0,
from /usr/local/include/php/main/php.h:396,
from /usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c:40:
/usr/include/sys/stat.h:366:31: error: array type has incomplete element type
const struct timespec __times[2],
^
/usr/include/sys/stat.h:373:54: error: array type has incomplete element type
extern int futimens (int __fd, const struct timespec __times[2]) __THROW;
^
In file included from /usr/local/include/php/main/php.h:402:0,
from /usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c:40:
/usr/local/include/php/TSRM/tsrm_virtual_cwd.h:218:2: error: unknown type name time_t’
time_t expires;
^
/usr/local/include/php/TSRM/tsrm_virtual_cwd.h:246:86: error: unknown type name ‘time_t’
CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_len, time_t t TSRMLS_DC);
^
/usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c: In function ‘zm_startup_ffmpeg’:
/usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c:94:5: warning: implicit declaration of function ‘avcodec_init’ [-Wimplicit-function-declaration]
avcodec_init();
^
make: *** [ffmpeg-php.lo] Error 1
[/console]


поэтому рекомпилировал ffmpeg-php-0.7.0. все прошло успешно. файл ffmpeg.so создался. заменил со старой. перезагрузил пхп и апач. всеравно не помогло.
обратил внимание на пхп инфо:

ffmpeg-php version 0.7.0
ffmpeg-php built on Feb 21 2015 19:46:58
ffmpeg-php gd support disabled

буилт показывает прежнюю дату. а я переустановил сегодня. причем новый файл размером отличается со старого. как быть?

23.02.2015 22:50 · отредактировано #415499

ещё добавлю что, рекомпилацию версии 0.7.0 делал через папку /usr/local/src/ffmpeg-php. в инете не смог найти эту версию, а /usr/local/src/ffmpeg-php эту папку я нашел случайно на сервере и переустановил через него,и прошло это успешно) может попытаться заново скачать версию 0.7.0? 0.6.0 сто раз скачал установил, не проходит. ошибку выше написал. если у кого-то есть ссылка на версию 0.7.0, скиньте сюда пожалуйста. попытаюсь переустановить

24.02.2015 15:17 · отредактировано #415543
"feqan.celebizade" написал:
AntiduPb пишет:
спасибо) у меня не получилось, вместо меня делали. теперь проблема в ffmpeg-php gd support  => disabled

Может стоит попробовать активировать службу?
Попробуй

text
getsebool | grep ffmpeg-php

Если то, что тебе нужно неактивно, тогда выполни

text
setsebool имя_службы=on

Меня как-то раз такие манипуляции спасли ;)

24.02.2015 18:46 #415562
"versus666" написал:
Может стоит попробовать активировать службу?
Попробуй
getsebool | grep ffmpeg-php
Если то, что тебе нужно неактивно, тогда выполни
setsebool имя_службы=on
Меня как-то раз такие манипуляции спасли 

[console]
[root@62949 ~]# getsebool | grep ffmpeg-php
getsebool: SELinux is disabled
[root@62949 ~]# setsebool SELinux=on
setsebool: SELinux is disabled.
[/console]

*SCRATCH* не помогло (( можете через теам помогать? :)

24.02.2015 20:00 · отредактировано #415576

черт (( на файл /etc/selinux/config поставил
[console]
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=permissive
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
[/console]

перезагрузил, но так апач перестал включиться. все таки проверил список, там не было этого модуля.

24.02.2015 21:05 #415585

для тех у кого аналогичная проблема. у меня директадмин и поэтому 2 версии пхп(5.4 и 5.5). установил для 5.4 все получилось. а с пхп 5.5 все же проблема. то есть временно это можете решать переходя на версию 5.4

Войдите или зарегистрируйтесь, чтобы ответить.