作者:没有变成王子的青蛙 | 来源:互联网 | 2023-09-14 16:20
PHP7源码安装步骤解压tar-xjvfconfiguremakemakeinstall安装上传下载命令yuminstall-ylrzszlinux操作[root@VM_0_5_c
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.
----
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
[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
[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