Назад | Перейти на главную страницу

Установка расширений PHP на правильную версию PHP

У нас есть две версии PHP на нашей машине с Linux CentOS6, 5.3.3 и 5.6.7, и мы хотим установить расширения PHP, memcache и imagick, в 5.6.7.

Войдя в систему как root, используя yum, мы установили оба из них, но поняли, что их можно использовать только в версии 5.3.3, а не в последней версии. Вот какие команды мы использовали:

$ yum install ImageMagick ImageMagick-devel
$ pecl install imagick
$ echo "extension=imagick.so" > /etc/php.d/imagick.ini

Мы попытались скопировать imagick.so и memcache.so из старого каталога расширений в каталог расширений 5.6.7, но безуспешно.

Как установить эти расширения в нашу последнюю версию PHP 5.6.7? Или есть способ решить эту проблему, ничего не переустанавливая?

Редактировать:

Чтобы установить PHP 5.6.7, я использовал шаги, приведенные в этой сущности:

https://gist.github.com/Stayallive/dbb91ffa6f0fc6ca6ac3

Вы можете создать расширение ImageMagick для последней версии PHP, выполнив следующие шаги.

#cd imagemagick-x.x
#path_to_php_home_dir/bin/phpize
#./configure --with-imagick=/opt/imagemagick
#make
#make install

imagick.so будет построен в каталоге модуля, теперь скопируйте его в свой путь расширения экземпляра php-5.6.7.

MEMCACHE

#cd /usr/src/
#wget http://pecl.php.net/get/memcache-2.2.4.tgz
#tar -zxvf memcached-2.2.4.tgz
#cd memcached-2.2.4
#path_to_php_home_dir/bin/phpize && ./configure --enable-memcache && make

Теперь скопируйте расширение memcached из каталога модулей в каталог расширений php.

- ОБНОВИТЬ

Вам необходимо указать правильный путь extension_dir в php.ini, который находится по адресу каталог_установки-php / lib / php.ini.

Если php.ini отсутствует, вам необходимо скопировать php.ini.production из php_source_dir в каталог_установки php / lib / с именем php.ini

параметр php.ini для каталога расширения

extension_dir = / php_install_dir / lib / php / extensions / no-debug-non-zts-20121212 /

Также возможно, что php.ini существует в каталоге вашего веб-приложения (/ var / www / app_dir). В этом случае вам необходимо внести изменения как в php.ini.

как насчет использования Коллекции программного обеспечения CentOS? Они специально разработаны для установки параллельных версий. Я также предлагаю ознакомиться с процессом их создания, чтобы при необходимости вы могли создавать свои собственные. Использовать Copr для построения инфраструктуры по мере необходимости.