centos7上编译安装php7,以php-fpm方式连接apache

好几个月之间其实已经配置过LAMP LNMP等等一些配置,以前配置都是按照晚上抄的,基本都能配置出来,现重头学想自己配置下,但是发现好多配置都忘了 ,中间踩了几个坑,记录下,也更彻底的学习下.....

./configure --prefix=/usr/local/php7
--enable-fpm 以fpm模式安装,这个还可以改成 --with-apxs2=PATH模式,两者只能取其一
--enable-so
--with-config-file-path=/etc 只能配置文件位置
--with-config-file-scan-dir=/etc/php.d 可以读取这个目录下的配合文件
--with-openssl
--with-linxml-dir
--with-bz2
--with-curl
--with-pcre-dir
--with-gd
--with-jpeg-dir
--with-png-dir
--with-zlib-dir
--with-mcrypt
--with-mysql=/usr/local/mysql 这个选项是多余的,不生效,在php7中有其内置的mysql模块了 不用依赖于mysql或mariadb,所以说php安装顺序放在那里都行
--with-mysqli
--with-mysql-sock
--with-pdo-mysql
--enable-sockets

这次编译的呢是php独立模式的,不是作为apache模块形式运行的,所有就开启了 --enable-fpm,这样的好处是php可以独立与任何一台机器运行

但是,上面的参数并不是完整的,有很多的参数没添加上。。
遇到的问题是,在使用phpMyadmin的时候
centos7上编译安装php7,以php-fpm方式连接apache

然后就开始在网上搜啊搜的,找了好多也没解决,不能说网上的方法不对,只是安装方式不同而已,网上的方法大部分是这样的
centos7上编译安装php7,以php-fpm方式连接apache

或者是这样的
centos7上编译安装php7,以php-fpm方式连接apache

但是我的都不是这样的,以上说的可能是直接yum安装的php,具体我的为什么出现这种情况 还需要看 ./configure的选项了,因为我没有 开启
---enable-mbstring Enable multibyte string support
所有就会出现这样的问题,解决方案,动态编译mbstrin

 cd /root/pakger/php-7.1.23/ext/mbstring/
 /usr/local/php7/bin/phpize 
./configure --with-php-config=/usr/local/php7/bin/php-config
make && make install
cd /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/

也就这几部,首先cd 到php的源目录中的/ext/mbstring中
然后运行 /usr/local/php7/bin/phpize 会生成一个configure的文件
最后直接使用期编译安装到上面指定的位置即可,编译安装完以后会出现此模块的路径 ×××路径到php.ini中 如下图:
centos7上编译安装php7,以php-fpm方式连接apache
据对路径方式....
然后重启php-fpm即可,当然想要和apache连接上还需要配置apachere配置文件
因为这里是以fpm形式安装的,所以和模块形式的配置是不一样的,除了添加
centos7上编译安装php7,以php-fpm方式连接apache
以外 还需要添加
centos7上编译安装php7,以php-fpm方式连接apache
以上两行,大概意思是让php请求的页面都走这个路径。。。
而以模块形式安装php的应配置为
centos7上编译安装php7,以php-fpm方式连接apache

到此基本就完事了,然后就是配置一下php的配置文件之类的...

<?php
phpinfo();
$link = mysql_connect("localhost","user","passwd");
if (!$link) echo "FAILD";
else echo "ok";

    phpinfo();

?>
通用二进制安装包安装mariadb出了几次错误,索性就编译安装了,但是。。真的挺慢的.......

其中用到了 mysql中的data专门放到一个目录或分区上
需要用到磁盘分区知识,然后使用初始化脚本来指定data的位置
然后设置mysql开机启动 把服务脚本添加到init.d目录下等

猜你喜欢

转载自blog.51cto.com/12529218/2313761
今日推荐