centos7 中 PHP的安装

大致步骤:下载–解压–编译–安装–配置

下载地址 http://php.net/downloads.php
centos7 中 PHP的安装
点进去后选择下载节点,右键复制连接即可
centos7 中 PHP的安装
版本自己选择吧~
如果没有wget可以先安装下wget
yum -y install wget
下载php包文件 wget http://hk1.php.net/get/php-7.3.3.tar.gz/from/this/mirror这里是最新版
下载完成后,在当前目录下是可以看到下载文件的 mirror
解压文件 tar -zxvf mirror解压后出现对于版本的文件夹
centos7 中 PHP的安装
在编译,安装工作之前,先安装相关依赖:
yum install gcc gcc-c++ libxml2-devel
接下来就是编译
进入解压后的目录中cd php-7.3.3
配置./configure
编译make
安装make install
如果你的php需要集成Nginx则需要编译 PHP 时 --enable-fpm配置选项来** FPM 支持。
输入如下命令
./configure --prefix=/usr/local/php7 --enable-fpm
prefix=后面是安装路径
更多配置

./configure  --prefix=/usr/local/php  --with-config-file-path=/usr/local/php/etc  --with-png-dir=/usr/local/libpng  --with-jpeg-dir=/usr/local/jpeg  --with-freetype-dir=/usr/local/freetype  --with-zlib-dir=/usr/local/zlib  --with-mcrypt=/usr/local/libmcrypt  --with-libxml-dir=/usr/local/libxml2/  --with-iconv-dir=/usr/local/libiconv  --enable-libxml  --enable-xml  --enable-bcmath  --enable-shmop  --enable-sysvsem  --enable-inline-optimization  --enable-opcache  --enable-mbregex  --enable-fpm  --enable-mbstring=all  --enable-gd-native-ttf  --with-openssl  --enable-pcntl  --enable-sockets  --with-xmlrpc  --enable-zip  --enable-soap  --without-pear  --with-gettext  --enable-session  --with-curl  --enable-ctype  --enable-shared  --with-gd  --with-mysql=mysqlnd  --with-mysqli=mysqlnd  --with-pdo-mysql=mysqlnd

如果configure没有出错的话,是可以看到下图的
centos7 中 PHP的安装
然后输入make然后是等待。。。
接着安装make install
安装完成

到此php已经装好了,但是此时nginx是不能解析php文件的
我们需要开启php-fpm并添加nginx解析
上面php7.3我的虚拟机上已经配置好了,下面以5.6举例
我的php5.6安装在 /usr/local/php6
php-fpm就在/usr/local/php6/sbin
centos7 中 PHP的安装
启动php-fpm:
centos7 中 PHP的安装
可以看到错误信息,/usr/local/php6/etc/php-fpm.conf这个文件不存在
接着进入/usr/local/php6/etc 这个目录
centos7 中 PHP的安装
这个是默认的文件名,我们改名为php-fpm.conf即可
centos7 中 PHP的安装
继续启动php-fpm,还记得它的路径吧,/usr/local/php6/sbin/centos7 中 PHP的安装
发现端口被占用, 关闭进程,重新启动一下
killall php-fpm 杀死进程
ps aux | grep php-fpm 是查看php-fpm相关进程的
centos7 中 PHP的安装
到这里php-fpm启动完成了,接下配置nginx解析
centos7 中 PHP的安装
可以看到nginx.conf这个配置文件 vi 进入,直接拉到最下面centos7 中 PHP的安装
加入这行 include vhost/*.conf;载入当前目录vhost目录下的所有以.conf结尾的文件
:wq 保存退出
进入vhost目录 创建一个xxx.conf的文件 文件名随便了
centos7 中 PHP的安装
输入下面的内容:

server{
        listen 80;
        server_name www.xxx.com;#域名,自己的访问域名
        root /home/www/jonwoo;#网站的根目录

        location / {

                index index.html index.htm index.php;#域名下的默认访问文件

        }

        location ~ \.php$ {#所有以.php结尾的文件都交给php处理

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }

}

:wq 保存并退出
重新启动一下nginx
/usr/local/nginx/sbin/nginx -s reload

进入上面root 定义的目录,创建index.php写入一些内容
vi index.php
从浏览器中输入你的域名,,看到了什么!
centos7 中 PHP的安装
php.ini
网站根目录下建一个index.php输入
phpinfo();
可以看到配置文件的位置,下面是我配好了,如果loaded configuration file 右边是(none)
centos7 中 PHP的安装
则需要将php源包里的php.ini-development 或者是php.ini-production 拷贝到 /usr/local/php6/lib
下,并命名为php.ini
进入上面编译过的php的文件夹
centos7 中 PHP的安装

cp php.ini-development /usr/local/php6/lib/php.ini

接着重启下php-fpm

pkill php-fpm
/usr/local/php6/sbin/php-fpm

php扩展安装
mysql扩展
大致步骤:
进入之前编译过的php目录 下的ext目录
里面有mysql ,mysqli, mysqlnd 等扩展
进入对应mysql目录, 运行phpize
./congfigure 配置
make编译,make install 安装
mysqlnd扩展命令记录
export PHP_OPENSSL_DIR=yes
具体步骤,以后补充