大致步骤:下载–解压–编译–安装–配置
下载地址 http://php.net/downloads.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
解压后出现对于版本的文件夹
在编译,安装工作之前,先安装相关依赖:
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没有出错的话,是可以看到下图的
然后输入make
然后是等待。。。
接着安装make install
安装完成到此php已经装好了,但是此时nginx是不能解析php文件的
我们需要开启php-fpm并添加nginx解析
上面php7.3我的虚拟机上已经配置好了,下面以5.6举例
我的php5.6安装在 /usr/local/php6
php-fpm就在/usr/local/php6/sbin
启动php-fpm:
可以看到错误信息,/usr/local/php6/etc/php-fpm.conf这个文件不存在
接着进入/usr/local/php6/etc 这个目录
这个是默认的文件名,我们改名为php-fpm.conf即可
继续启动php-fpm,还记得它的路径吧,/usr/local/php6/sbin/
发现端口被占用, 关闭进程,重新启动一下
killall php-fpm 杀死进程
ps aux | grep php-fpm 是查看php-fpm相关进程的
到这里php-fpm启动完成了,接下配置nginx解析
可以看到nginx.conf这个配置文件 vi 进入,直接拉到最下面
加入这行 include vhost/*.conf;
载入当前目录vhost目录下的所有以.conf结尾的文件
:wq 保存退出
进入vhost目录 创建一个xxx.conf的文件 文件名随便了
输入下面的内容:
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
从浏览器中输入你的域名,,看到了什么!
php.ini
网站根目录下建一个index.php输入
phpinfo();
可以看到配置文件的位置,下面是我配好了,如果loaded configuration file 右边是(none)
则需要将php源包里的php.ini-development 或者是php.ini-production 拷贝到 /usr/local/php6/lib
下,并命名为php.ini
进入上面编译过的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
具体步骤,以后补充