![升级到php5.4后在ubuntu上安装pecl扩展](https://linux22.com/image/798253/%E5%8D%87%E7%BA%A7%E5%88%B0php5.4%E5%90%8E%E5%9C%A8ubuntu%E4%B8%8A%E5%AE%89%E8%A3%85pecl%E6%89%A9%E5%B1%95.png)
我安装了 php 5.3,并使用此 PPA 升级到 5.4https://launchpad.net/~ondrej/+archive/php5- 一切顺利。
我的旧 pecl 扩展(例如 oauth)未启用,因此我卸载并重新安装了它们。但它们没有被加载。Pecl 可以很好地构建软件包,但将“so”文件安装到错误的位置 - “/usr/lib/php5/20090626”而不是新的“/usr/lib/php5/20100525”,尽管 ext_dir 设置正确,这似乎是一个错误 -https://bugs.php.net/bug.php?id=55196
我将 oauth.so 移至新的扩展目录(从 php.ini 文件)并在我的 php.ini 中仔细检查 extension=oauth.so - 但它仍然无法加载扩展。
跑步时
pecl 安装 oauth
我注意到 :
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
pecl 是否适用于旧版本的 php?这就是为什么扩展无法加载的原因吗?
答案1
我查看了我的 apache 日志,发现以下错误
OAuth: 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
因此它确实是使用错误的目标版本进行编译的。
我所要做的就是
sudo apt-get install php5-dev
然后重新运行安装。