PHP7原始碼安裝
步驟
解壓
tar -xjvf
configure
make
make install
安裝上傳下載命令
yum install -y lrzsz
linux操作
[root@VM_0_5_centos ~]# cd /home/
[root@VM_0_5_centos home]# mkdir -p work/study/softpackage
[root@VM_0_5_centos softpackage]# pwd
/home/work/study/softpackage
[root@VM_0_5_centos softpackage]# ll
total 14900
-rw-r--r-- 1 root root 15235268 Apr 2 21:19 php-7.2.29.tar.bz2
[root@VM_0_5_centos softpackage]# tar -xjvf php-7.2.29.tar.bz2
drwxrwxr-x 14 root root 4096 Mar 17 18:16 php-7.2.29
-rw-r--r-- 1 root root 15235268 Apr 2 21:19 php-7.2.29.tar.bz2
[root@VM_0_5_centos softpackage]# cd php-7.2.29/
[root@VM_0_5_centos php-7.2.29]# yum install gcc
----
configure: error: libxml2 not found. Please check your libxml2 installation.
----
//start安裝豪華套餐
yum -y install gcc libxml2 yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel
//end
[root@VM_0_5_centos php-7.2.29]# ./configure --prefix=/home/work/study/soft/php
[root@VM_0_5_centos php-7.2.29]# make
[root@VM_0_5_centos php-7.2.29]# make install
[root@VM_0_5_centos php-7.2.29]# cd /home/work/study/
[root@VM_0_5_centos study]# ll
total 8
drwxr-xr-x 3 root root 4096 Apr 2 22:04 soft
drwxr-xr-x 3 root root 4096 Apr 2 21:44 softpackage
[root@VM_0_5_centos study]# cd soft/php/
[root@VM_0_5_centos php]#
[root@VM_0_5_centos php]# ./bin/php -m
//測試
[root@VM_0_5_centos php]# vim test.php
[root@VM_0_5_centos php]# ./bin/php test.php
1585836467[root@VM_0_5_centos php]#
//編輯
[root@VM_0_5_centos php]# vi ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
alias php=/home/work/study/soft/php/bin/php
//讓配置生效
[root@VM_0_5_centos php]# source ~/.bash_profile
[root@VM_0_5_centos php]# php -v
PHP 7.2.29 (cli) (built: Apr 2 2020 22:03:18) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
//測試
[root@VM_0_5_centos study]# mkdir demo
[root@VM_0_5_centos study]# cd demo/
[root@VM_0_5_centos demo]# vim t.php
[root@VM_0_5_centos demo]# php t.php
1585836787[root@VM_0_5_centos demo]# pwd
/home/work/study/demo
轉移php.ini
[root@VM_0_5_centos study]# cd softpackage/php-7.2.29/
[root@VM_0_5_centos php-7.2.29]# pwd
/home/work/study/softpackage/php-7.2.29
[root@VM_0_5_centos php-7.2.29]# cp php.ini-development /home/work/study/soft/php/etc/
[root@VM_0_5_centos ~]# cd /home/work/study/soft/php/etc/
[root@VM_0_5_centos etc]# ll
total 80
-rw-r--r-- 1 root root 1354 Apr 2 22:05 pear.conf
-rw-r--r-- 1 root root 71232 Apr 2 22:17 php.ini-development
[root@VM_0_5_centos etc]# mv php.ini-development php.ini
[root@VM_0_5_centos php-7.2.29]# php -i | grep php.ini
Configuration File (php.ini) Path => /home/work/study/soft/php/lib
[root@VM_0_5_centos php-7.2.29]# cd /home/work/study/soft/php/
[root@VM_0_5_centos php]# mv ./etc/php.ini ./lib/
上傳swoole檔案包
[root@VM_0_5_centos softpackage]# rz
[root@VM_0_5_centos softpackage]# ll
total 17076
drwxrwxr-x 17 root root 4096 Apr 2 21:55 php-7.2.29
-rw-r--r-- 1 root root 15235268 Apr 2 21:19 php-7.2.29.tar.bz2
-rw-r--r-- 1 root root 2217161 Apr 2 22:27 swoole-swoole-master.zip
[root@VM_0_5_centos softpackage]# unzip swoole-swoole-master.zip
[root@VM_0_5_centos softpackage]# ll
total 17080
drwxrwxr-x 17 root root 4096 Apr 2 21:55 php-7.2.29
-rw-r--r-- 1 root root 15235268 Apr 2 21:19 php-7.2.29.tar.bz2
drwxr-xr-x 9 root root 4096 Jan 9 20:06 swoole
-rw-r--r-- 1 root root 2217161 Apr 2 22:27 swoole-swoole-master.zip
//生成configure檔案
[root@VM_0_5_centos swoole]# /home/work/study/soft/php/bin/phpize
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
[root@VM_0_5_centos swoole]# ./configure --with-php-config=/home/work/study/soft/php/bin/php-config
checking how to run the C++ preprocessor... /lib/cpp
configure: error: in `/home/work/study/softpackage/swoole':
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details
//說明
error: C++ preprocessor "/lib/cpp" fails sanity check 問題的解決
問題的根源是缺少必要的C++庫。如果是CentOS系統,執行,如下命令解決:
yum install glibc-headers
yum install gcc-c++
再執行
[root@VM_0_5_centos swoole]# ./configure --with-php-config=/home/work/study/soft/php/bin/php-config
[root@VM_0_5_centos swoole]# make
[root@VM_0_5_centos swoole]# make install
[root@VM_0_5_centos swoole]# cd /home/work/study/soft/php/lib/php/extensions/no-debug-non-zts-20170718/
[root@VM_0_5_centos no-debug-non-zts-20170718]# ll
total 17664
-rwxr-xr-x 1 root root 3589814 Apr 2 22:04 opcache.a
-rwxr-xr-x 1 root root 1979620 Apr 2 22:04 opcache.so
-rwxr-xr-x 1 root root 12488337 Apr 2 22:41 swoole.so
[root@VM_0_5_centos lib]# ll
total 80
drwxr-xr-x 15 root root 4096 Apr 2 22:05 php
-rw-r--r-- 1 root root 71232 Apr 2 22:17 php.ini
[root@VM_0_5_centos lib]# vi php.ini
[root@VM_0_5_centos lib]# pwd
/home/work/study/soft/php/lib
在php.ini檔案中新增:extension=swoole.so
檢視是否新增成功:php -m
[root@VM_0_5_centos server]# php echo.php
^C
[root@VM_0_5_centos server]# pwd
/home/work/study/softpackage/swoole/examples/server
//新開視窗
[root@VM_0_5_centos server]# netstat -anp|grep 9501
tcp 0 0 0.0.0.0:9501 0.0.0.0:* LISTEN 23406/php
[root@VM_0_5_centos server]# netstat -anp|grep 9501
[root@VM_0_5_centos server]# pwd
/home/work/study/softpackage/swoole/examples/server
本作品採用《CC 協議》,轉載必須註明作者和本文連結