安装正确的 PHP 版本

安装正确的 PHP 版本

我们的 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 扩展。

#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 软件合集? 它们是专门为并行版本安装而设计的。我还建议您熟悉构建这些的过程,以便您可以在需要时创建自己的。使用考普尔根据需要构建基础设施。

相关内容