拿到一个空的服务器,首先我们就要来用起来啦!
首先要先下载并编译安装PHP最新版本,请到php官网下载:
![393c4a5b31bf618b197c5a8711f2373a.png](https://i-blog.csdnimg.cn/blog_migrate/c56417d5e56371a0b2d7de1de16b952a.jpeg)
这里我首先在系统里在新建存储源码包的文件夹,比如我存放在这里
![d367d6e40bceb3743643e56502f32831.png](https://i-blog.csdnimg.cn/blog_migrate/7305d409377de70b271287cade57e088.jpeg)
下载安装PHP7.4之前,你要先安装各种依赖包
yum install -y openssl-devel libxml2-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel recode-devel libicu-devel libzip-devel sqlite-devel oniguruma-develyum -y install http://mirror.centos.org/centos-7/7.7.1908/cloud/x86_64/openstack-queens/oniguruma-6.7.0-1.el7.x86_64.rpmyum -y install http://mirror.centos.org/centos-7/7.7.1908/cloud/x86_64/openstack-queens/oniguruma-devel-6.7.0-1.el7.x86_64.rpm
安装好后切换到 /home/work/study/softpackage
![547feffad405c0a671dcad515c510298.png](https://i-blog.csdnimg.cn/blog_migrate/40d53f70a5e8d51c4afa6f69a304c5f9.jpeg)
下载php源码包
wget https://www.php.net/distributions/php-7.4.0.tar.gz
解压
tar -zxvf php-7.4.0.tar.gz
切换到解压的目录
cd php-7.4.0
![c165b3b7d4da5a5ac284c85665875dd8.png](https://i-blog.csdnimg.cn/blog_migrate/258aab56fbcbc945365ff7a3f858decc.jpeg)
接下来,检查配置,安装到你自定义的目录里,我是安装在/home/work/study/soft/php
首先
![da8f93257ff478950cdcab4f77b3eca3.png](https://i-blog.csdnimg.cn/blog_migrate/ce57c8381a202c313c8273fd44885e75.jpeg)
没出问题就会出现这样
![0452d7f129398851767fe7207001929a.png](https://i-blog.csdnimg.cn/blog_migrate/c564a4c3fdd95348bd14ead05f8850d0.jpeg)
这里如果make有报错误,没找到makefile,这个时候就要检查一下有没有安装gcc了,或者你yum update 一下
![000329db741b576bc4365e41f1932691.png](https://i-blog.csdnimg.cn/blog_migrate/706a9ccb3265b8e30453c65675e20525.jpeg)
比如出现找不到./configure 配置遇到的No package ‘sqlite3’ found,
解决方法:
yum install sqlite-devel
出现这个错误的时候
![19ab27a146d38975ffc44165b3567755.png](https://i-blog.csdnimg.cn/blog_migrate/4b6c48807e4395cc8d552931b3ad2fc9.jpeg)
解决方法:
将php安装配置文件中加了引号中的配置–disable-fileinfo
即在执行 ./configure 时加上 --disable-fileinfo 参数
清除原编译 make clean
重新生成makefile文件
./configure --prefix=/home/work/study/soft/php --with-apxs2=/usr/local/apache/bin/apxs --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --disable-fileinfo
接下来就是make make install了
这个时候就已经把php编译安装好了。
![bbea23cde3746d07bc197cafbb3bc8ee.png](https://i-blog.csdnimg.cn/blog_migrate/0f1323f738a8b1909b8c228251a3587c.jpeg)
我们着重到用到的是php.ini 这个文件,我们可以这样去获取,去到PHP7.4的目录
![cc815bab3163c18618fdb4e30df2ce98.png](https://i-blog.csdnimg.cn/blog_migrate/a55b5043bfc7daefcb104683bdc87789.jpeg)
复制到etc里,这个需要新建:mkdir etc
![6b73272c7f6521b259cd5727ac190971.png](https://i-blog.csdnimg.cn/blog_migrate/6d23fb95071a7f1f70f459eca6dc43f7.jpeg)
简化PHP执行命令
1 编辑这个文件
![f52903d4a7d16273371a1c6510060989.png](https://i-blog.csdnimg.cn/blog_migrate/c4f5b50344540484f58cf0d69dbe058f.jpeg)
2 插入,这个路径就是你的php路径
![b7349a2f0be47a6b8366eaef5f7c716a.png](https://i-blog.csdnimg.cn/blog_migrate/7831955821cf08a77aca2d324ecc5a85.jpeg)
3 source 这个目录
![0b6c30688460bfc59dfd55723578c814.png](https://i-blog.csdnimg.cn/blog_migrate/4bc179c7d75c5db9652e1ba993fd9233.jpeg)
这个时候就可以直接用php -v 了
![0513d7aab45b68e354c0af60102c8111.png](https://i-blog.csdnimg.cn/blog_migrate/82399a00bd390066a72ebe2a3d2a3e50.jpeg)
php.ini是要放在lib目录里的,我们可以用这个命令检查,发现php.ini应该存在在lib里
![c0d86793ddd37abbdc719224dd946c43.png](https://i-blog.csdnimg.cn/blog_migrate/d99ed8e9767315a49d3c2bc0117e4d3e.jpeg)
所以就要把刚才cp过来的php.ini mv到lib里
![a303b2b394d15dc4c860ad7dee014f2f.png](https://i-blog.csdnimg.cn/blog_migrate/642f46c39148d9c11afd0d8663e090ec.jpeg)
用个例子测试一下test.php
![4688f5561a9df30f2d78bee7442a0114.png](https://i-blog.csdnimg.cn/blog_migrate/5808439fae85d8250fd8a10d2561445d.jpeg)
到这一步PHP编译安装已经搞定
![48e652f8468ec73bead65af67b34707d.png](https://i-blog.csdnimg.cn/blog_migrate/f00bf70903bf7f6461854c6d1ee5a12d.jpeg)