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

下载地址 http://php.net/downloads.php

centos7离线安装postgresql13 centos7离线安装php_nginx


点进去后选择下载节点,右键复制连接即可

centos7离线安装postgresql13 centos7离线安装php_nginx_02


版本自己选择吧~

如果没有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离线安装postgresql13 centos7离线安装php_mysql_03


在编译,安装工作之前,先安装相关依赖:

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离线安装postgresql13 centos7离线安装php_nginx_04


然后输入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离线安装postgresql13 centos7离线安装php_mysql_05


启动php-fpm:

centos7离线安装postgresql13 centos7离线安装php_mysql_06


可以看到错误信息,/usr/local/php6/etc/php-fpm.conf这个文件不存在

接着进入/usr/local/php6/etc 这个目录

centos7离线安装postgresql13 centos7离线安装php_mysql_07


这个是默认的文件名,我们改名为php-fpm.conf即可

centos7离线安装postgresql13 centos7离线安装php_mysql_08


继续启动php-fpm,还记得它的路径吧,/usr/local/php6/sbin/

centos7离线安装postgresql13 centos7离线安装php_php_09


发现端口被占用, 关闭进程,重新启动一下

killall php-fpm 杀死进程

ps aux | grep php-fpm 是查看php-fpm相关进程的

centos7离线安装postgresql13 centos7离线安装php_nginx_10


到这里php-fpm启动完成了,接下配置nginx解析

centos7离线安装postgresql13 centos7离线安装php_nginx_11


可以看到nginx.conf这个配置文件 vi 进入,直接拉到最下面

centos7离线安装postgresql13 centos7离线安装php_mysql_12


加入这行 include vhost/*.conf;载入当前目录vhost目录下的所有以.conf结尾的文件

:wq 保存退出

进入vhost目录 创建一个xxx.conf的文件 文件名随便了

centos7离线安装postgresql13 centos7离线安装php_mysql_13


输入下面的内容:

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离线安装postgresql13 centos7离线安装php_php_14


php.ini

网站根目录下建一个index.php输入

phpinfo();

可以看到配置文件的位置,下面是我配好了,如果loaded configuration file 右边是(none)

centos7离线安装postgresql13 centos7离线安装php_nginx_15


则需要将php源包里的php.ini-development 或者是php.ini-production 拷贝到 /usr/local/php6/lib

下,并命名为php.ini

进入上面编译过的php的文件夹

centos7离线安装postgresql13 centos7离线安装php_nginx_16

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 具体步骤,以后补充