开始安装
全新虚拟机Ubuntu14.04,手动安装了apache2和php5;其余全没有。
那我们使用一条命令安装php扩展
sudo pecl install mongodb
这时会报错,显示缺少依赖包 php-pear,那就进行安装,命令如下
sudo apt-get install php-pear
当我们再次执行pecl install mongodb的命令时,会提示phpize不是内部命令,需要安装php5-dev,再进行安装如下命令:
sudo apt-get install php7.0-dev
当我们再次执行pecl install mongodb时,应该会报这样错误,
在PHP开发中,有时我们需要安装特定的扩展来增强其功能,比如`mongodb`扩展,它允许PHP代码与MongoDB数据库进行交互。本篇文章将详细解析使用PECL(PHP Extension Community Library)工具安装`php-mongodb`扩展的过程,适用于Ubuntu 14.04环境。
确保你已经安装了Apache2和PHP5。接着,尝试通过`pecl`命令安装`mongodb`扩展:
```bash
sudo pecl install mongodb
```
这个命令可能会报错,提示缺少`php-pear`包。因此,我们需要先安装`php-pear`:
```bash
sudo apt-get install php-pear
```
完成`php-pear`的安装后,再次运行`pecl install mongodb`,可能会遇到`phpize`命令找不到的问题。这是因为系统还需要`php5-dev`或`php7.0-dev`来提供构建PHP扩展所需的工具。根据你的PHP版本,执行相应的命令:
```bash
# 如果你的PHP版本是5.x
sudo apt-get install php5-dev
# 如果你的PHP版本是7.0
sudo apt-get install php7.0-dev
```
在安装`php5-dev`或`php7.0-dev`之后,再次运行`pecl install mongodb`可能会提示缺少OpenSSL库。为了解决这个问题,你需要安装OpenSSL相关的组件:
```bash
sudo apt-get install openssl libssl-dev libssl0.9.8 libgtk2.0-dev
```
完成上述所有依赖安装后,再次执行`pecl install mongodb`,这次应该能成功安装`mongodb`扩展。但请注意,安装成功后,还需要手动编辑`php.ini`文件,以便使扩展生效。通常,你需要找到`php.ini`文件(例如在`/etc/php5/apache2/php.ini`),然后添加以下行:
```ini
# /etc/php5/apache2/php.ini
extension=mongodb.so
```
保存并关闭`php.ini`后,重启Apache服务以使改动生效:
```bash
sudo service apache2 restart
```
现在,你可以检查`mongodb`扩展是否已成功加载,可以通过运行`php -m`命令查看。如果看到`mongodb`出现在输出的模块列表中,那么就说明扩展已经正确安装并配置。
除了`mongodb`扩展,类似地,你可以通过`pecl`安装其他扩展,如`redis`:
```bash
sudo pecl install redis
```
同样,别忘了在`php.ini`中添加相应的行,然后重启Apache。
了解PECL和PEAR是理解PHP扩展管理的关键。PECL是PHP的一个扩展仓库,提供了大量的开源PHP扩展供开发者使用。而PEAR(PHP Extension and Application Repository)是PHP的类库和工具集,包含了一些标准的PHP类库和开发工具。
通过PECL安装PHP扩展是一种便捷的方法,但也需要对系统的依赖关系有清晰的理解。在遇到问题时,务必检查并安装缺失的依赖,以确保扩展能够顺利安装和使用。