/var/lib/php/session 老没有这个文件夹 新建 chmod -R 777 /var/lib/php/session权限
yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel php70w-mcrypt php70w-pecl-mongodb
前提 php之前版本卸载干净了的
Error: php70w-common conflicts with php-common-5.6.40-5.el6.remi.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
安装redis扩展的时候可以用第一个跳过
如果第一次安装报错优先安装 php70w-devel
pecl install mongodb可以在docker中使用
注意每添加扩展在php.ini 中增加 extension=swoole(扩展名).so
方法
全新虚拟机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时,应该会报这样错误,缺少OpenSSL Library。那么我们需要安装下面的东西
apt-get install openssl libssl-dev libssl0.9.8 libgtk2.0-dev
我使用的是阿里云ECS,PHP版本:php-5.5.7
下面方案就以我的主机为例讲解为PHP添加openssl模块支持。
网上一些答案说要重新编译PHP,添加configure参数,增加openssl的支持。这里讲一个不需要重新编译的方法。
如果服务器上存在PHP安装包文件最好,如果已经删除,去下载和phpinfo页面显示版本一样的PHP安装文件,我这里是 php-5.5.7.tar.gz
推荐去搜狐镜像下载,网易镜像没有找到。地址为: http://mirrors.sohu.com/php/
用ssh工具连接到主机。
# 下载到/var/www/php5目录下
cd /var/www/php5
wget http://mirrors.sohu.com/php/php-5.5.7.tar.gz
# 解压
tar zxvf php-5.5.7.tar.gz
# 进入PHP的openssl扩展模块目录
cd php-5.5.7/ext/openssl/
/var/www/php5/bin/phpize # 这里为你自己的phpize路径,如果找不到,使用whereis phpize查找
# 执行后,发现错误 无法找到config.m4 ,config0.m4就是config.m4。直接重命名
mv config0.m4 config.m4
/var/www/php5/bin/phpize
./configure --with-openssl --with-php-config=/var/www/php5/bin/php-config
make
make install
# 安装完成后,会返回一个.so文件(openssl.so)的目录。在此目录下把openssl.so 文件拷贝到你在php.ini 中指定的 extension_dir 下(在php.ini文件中查找:extension_dir =),我这里的目录是 var/www/php5/lib/php/extensions
# 编辑php.ini文件,在文件最后添加
extension=openssl.so
# 重启Apache即可
/usr/local/apache2/bin/apachectl restart