我们的 Linux CentOS6 机器上有两个版本的 PHP,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
答案1
您可以使用以下步骤为最新版本的 PHP 构建 ImageMagick 扩展。
- 下载源表格https://pecl.php.net/package/imagick/download
- 解压档案并转到解压后的文件夹。
#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 实例的扩展路径下。
缓存
#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 扩展目录
--更新
您需要在 php.ini 中指定正确的 extension_dir 路径,该路径位于php_install_dir/lib/php.ini。
如果 php.ini 不存在,那么你必须从php_source_dir 至 php_install_dir/lib/名称为 php.ini
扩展目录的 php.ini 参数
extension_dir=/php_install_dir/lib/php/extensions/no-debug-non-zts-20121212/
也可能您的 Web 应用程序目录 (/var/www/app_dir) 中存在 php.ini。在这种情况下,您必须对 php.ini 进行更改。
答案2
如何使用CentOS 软件合集? 它们是专门为并行版本安装而设计的。我还建议您熟悉构建这些的过程,以便您可以在需要时创建自己的。使用考普尔根据需要构建基础设施。