我们的Linux CentOS6机器上有5.3.3和5.6.7两个版本的PHP,并且希望将PHP扩展memcache和imagick安装到5.6.7。
以root身份login,使用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
您可以使用以下步骤构build最新版本的PHP的ImageMagick扩展。
#cd imagemagick-xx #path_to_php_home_dir/bin/phpize #./configure --with-imagick=/opt/imagemagick #make #make install
imagick.so将在模块目录中生成,现在将其复制到php-5.6.7实例的扩展path中。
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扩展名从module目录复制到php扩展目录
– 更新
您需要在位于php_install_dir / lib / php.ini的php.ini中指定正确的extension_dirpath。
如果php.ini不存在,那么你必须将php.ini.production从php_source_dir复制到 php_install_dir / lib /名称为php.ini
php.ini参数用于扩展名dir
的extension_dir = / php_install_dir / LIB / PHP /扩展/无debugging非ZTS-20121212 /
也有可能你的php.ini存在于你的web应用程序目录(/ var / www / app_dir)中。 在这种情况下,您必须在php.ini中进行更改。
如何使用CentOS软件集合 ? 这些是专门为并行版本安装而devise的。 我还build议熟悉build立这些过程,以便在需要时创build自己的过程。 根据需要使用Copr编译基础架构。