安装依赖
sudo apt-get install libxml2-devsudo apt-get install libcurl4-gnutls-dev
sudo apt-get install libbz2-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libpng-dev
sudo apt-get install libxpm-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libt1-dev
sudo apt-get install libmcrypt-dev
sudo apt-get install libmysql++-dev
sudo apt-get install libxslt1-dev
sudo apt-get installlibssl-dev
sudo apt-get install libgmp-dev
sudo apt install -y libedit-dev libreadline-dev
apt-getinstall libzip-dev
下载解压
https://www.php.net/distributions/php-7.2.20.tar.gz
tar -xzvf php-7.2.20.tar.gz
mv php-7.2.20 php
编译前准备
sudo apt install build-essential bison re2c pkg-config -y
sudo apt install build-essential bison re2c pkg-config libxml2-dev libbz2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng12-dev libfreetype6-dev libgmp-dev libreadline6-dev libxslt1-dev libzip-dev -y
二.配置和创建PHP
./configure --prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --enable-fpm
执行该语句时可能会出现如下提示:
error: xml2-config not found. Please check your libxml2 installation
此时执行make命令会出现以下错误:
“make: *** No targets specified and no makefile found. Stop.”
这是因为缺少xml2-config文件造成的。解决方案:
sudo apt-getinstall libxml2
sudo apt-get install libxml2-dev
之后在此执行以下语句完成编译安装
./configure \
-with-apxs2=/usr/local/apache2/bin/apxs \--prefix=/usr/local/php \--with-config-file-path=/etc \--enable-fpm \--enable-inline-optimization \--disable-debug \--disable-rpath \--enable-shared \--with-libxml-dir \--with-xmlrpc \--with-mhash \--with-pcre-regex \--with-sqlite3 \--with-zlib \--with-libzip=../libzip-1.3.2\--enable-bcmath \--with-iconv \--with-bz2 \--with-openssl \--enable-calendar \--with-curl \--with-cdb \--enable-dom \--enable-exif \--enable-fileinfo \--enable-filter \--with-pcre-dir \--enable-ftp \--with-gd \--with-openssl-dir \--with-jpeg-dir \--with-png-dir \--with-zlib-dir \--with-freetype-dir \--enable-gd-jis-conv \--with-gettext \--with-gmp \--with-mhash \--enable-json \--enable-mbstring \--enable-mbregex \--enable-mbregex-backtrack \--with-libmbfl \--with-onig \--enable-pdo \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--with-pdo-sqlite \--with-readline \--enable-session \--enable-shmop \--enable-simplexml \--enable-sockets \--enable-sysvmsg \--enable-sysvsem \--enable-sysvshm \--enable-wddx \--with-libxml-dir \--with-xsl \--enable-zip \--enable-mysqlnd-compression-support \--with-pear \--enable-opcache
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs #指定Apache2−−with−apxs2=/usr/local/apache2/bin/apxs——指定Apache2
make
make install
make test
、安装时报错内存 不足recipe for target 'ext/fileinfo/libmagic/apprentice.lo' failed,把服务器应用全关了 重新安装ok
4.将php.ini拷贝到/usr/local/lib/
cp php.ini-development /usr/local/lib/php.ini
查看编译时参数
php -i|grep config
查看php.ini 默认加载路径
php -i|grep php.ini
查看php配置文件有没有加载
php --ini
5.编辑httpd.conf,加载PHP模块
LoadModule php7_module modules/libphp7.so #好像程序自己加进去了
7.重启Apache2
/usr/local/apache2/bin/apachectl restart
1
8.测试PHP是否安装成功
在Apache2的指定文件目录下添加index.php文件,并输入以下内容
phpinfo();
?>
、
然后在浏览器输入url——localhost/index.php,如果查看到以下结果,则说明安装成功,若没有,可以考虑重新编译安装。