gpt4 book ai didi

php - pecl 为以前的 php 版本安装

转载 作者:IT王子 更新时间:2023-10-28 23:54:50 27 4
gpt4 key购买 nike

我已将我的 MacBook 升级到 Mavericks 并破坏了我的开发环境。我现在遇到的问题是我的 pear/pecl 仍然尝试安装我以前的 (5.3) 版本的 PHP 而不是 5.4 版本。

PHP 版本:

$ php -v
PHP 5.4.17 (cli) (built: Aug 25 2013 02:03:38)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

pear

$ pear version
PEAR Version: 1.9.4
PHP Version: 5.4.17
Zend Engine Version: 2.4.0
Running on: Darwin MBP-retina.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64

如果我用

安装apc
$ sudo pecl install apc
downloading APC-3.1.13.tgz ...
Starting to download APC-3.1.13.tgz (171,591 bytes)
.....................................done: 171,591 bytes
55 source files, building
running: phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
...
Build process completed successfully
Installing '/usr/local/Cellar/php53/5.3.26/include/php/ext/apc/apc_serializer.h'
Installing '/usr/local/Cellar/php53/5.3.26/lib/php/extensions/no-debug-non-zts-20090626/apc.so'
install ok: channel://pecl.php.net/APC-3.1.13
Extension apc enabled in php.ini

并在我的 php.ini 中启用 apc 模块 php -v 更改为:

$ php -v
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20100525/apc.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20100525/apc.so, 9): image not found in Unknown on line 0
PHP 5.4.17 (cli) (built: Aug 25 2013 02:03:38)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

所以 pecl 在 /usr/local/Cellar/php53/5.3.26/lib/php/extensions/no-debug-non-zts-20090626 中安装我的 apc 扩展,而 php 期望它在/usr/lib/php/extensions/no-debug-non-zts-20100525/

简单地创建符号链接(symbolic link)会出现以下错误:

$ php -v
PHP Warning: PHP Startup: apc: Unable to initialize module
Module compiled with module API=20090626
PHP compiled with module API=20100525
These options need to match
in Unknown on line 0
PHP 5.4.17 (cli) (built: Aug 25 2013 02:03:38)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

所以这不是解决方案。

谁能指出我正确的方向?我真的不知道这里发生了什么。

最佳答案

就我而言,我试图安装 Gearman。

pecl install gearman 会安装错误。

php -i 会显示:

PHP Extension => 20100525

然而 pecl 将安装使用:

PHP Api Version:         20090626

更改我的配置设置后使用:

第一次修复

sudo pecl config-set php_ini /etc/php.ini
sudo pecl config-set php_bin /usr/bin/php5

我注意到我仍然会得到

WARNING: php_bin /usr/bin/php5 appears to have a suffix 5, but config variable php_suffix does not match

您可以使用配置设置解决此问题:

其他修复

sudo pear config-set php_suffix 5

为什么这是个问题?

对我来说,我遇到这个问题是因为我添加了自定义 PPA 并重新安装了 PHP。这意味着我之前安装的 php5-dev 不同步。

如果你遇到同样的情况,你可能只想跑..

apt-get remove php5-dev
pecl uninstall <extensionname>
apt-get install php5-dev
apt-get remove php5-pear
apt-get install php5-pear
pecl install <extensionname>

或者,您可以下载源代码并运行 phpize。

关于php - pecl 为以前的 php 版本安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19561722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com