Instalando extensões PHP na versão correta do PHP

1

Nós temos duas versões do PHP em nossa máquina Linux CentOS6, 5.3.3 e 5.6.7, e queríamos instalar extensões PHP, memcache e imagick, em 5.6.7.

Conectado como root, usando o yum, instalamos os dois, mas percebemos que eles só eram utilizáveis no 5.3.3 e não na versão mais recente. Estes são os comandos que usamos:

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

Nós tentamos copiar o imagick.so e o memcache.so do antigo diretório de extensões para o diretório de extensão do 5.6.7, mas sem nenhuma sorte.

Como instalamos essas extensões em nossa última versão, PHP 5.6.7? Ou existe uma maneira de resolver isso sem reinstalar nada?

Editar:

Para instalar o PHP 5.6.7, usei as etapas dadas nesta essência:

https://gist.github.com/Stayallive/dbb91ffa6f0fc6ca6ac3
    
por PaparazzoKid 06.04.2015 / 16:18

2 respostas

2

Você pode criar a extensão ImageMagick para a versão mais recente do PHP usando as etapas abaixo.

  • Faça o download do formulário de origem link
  • Descompacte o arquivo e vá para a pasta descompactada.
#cd imagemagick-x.x
#path_to_php_home_dir/bin/phpize
#./configure --with-imagick=/opt/imagemagick
#make
#make install

imagick.so será construído no diretório do módulo, agora copie-o para o seu caminho de extensão da instância do 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

Agora copie a extensão memcached do diretório do módulo para o diretório de extensão php

- UPDATE

Você precisa especificar o caminho extension_dir correto no php.ini que está localizado em php_install_dir / lib / php.ini .

Se o php.ini não estiver presente, você terá que copiar o arquivo php.ini.production de php_source_dir para php_install_dir / lib / com o nome php.ini

parâmetro php.ini para o diretório de extensão

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

Também pode ser possível que você tenha o php.ini em seu diretório de aplicações web (/ var / www / app_dir). Nesse caso, você precisa fazer alterações no php.ini.

    
por 06.04.2015 / 17:39
1

que tal usar coleções do Software CentOS ? Esses são projetados especificamente para instalações de versão paralela. Também gostaria de sugerir familiarizar-se com o processo de construção desses, para que você possa criar os seus próprios, se necessário. Use o Copr para criar infraestrutura conforme necessário.

    
por 06.04.2015 / 21:16