首先下载php源码包并解压:
1
2
3
|
wget http://cn2.php.net/get/php-7.0.9.tar.gz/from/this/mirror
tar -xvf php-7.0.9.tar.gz
cd php-7.0.9
|
然后开始./configrue
1
|
./configure --enable-fpm --with-mysql
|
这里我只包含了 PHP-FPM 和 MySQL 支持的简单配置, 可以通过运行 ./configure –help 命令来获得完整的可用选项清单
configure过程中可能会出现的问题:
- configure: error: xml2-config not found. Please check your libxml2 installation.
解决办法:
1
2
3
|
rpm -qa|grep libxml2
libxml2-python-2.9.1-5.el7_1.2.x86_64
libxml2-2.9.1-5.el7_1.2.x86_64
|
没有libxml2-devel
1
|
yum install libxml2-devel
|
问题解决!
configure完成后
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
config.status: creating php7.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
|
继续安装
经过"漫长"的等待后,编译完成
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20151012/
Installing PHP CLI binary: /usr/local/bin/
Installing PHP CLI man page: /usr/local/php/man/man1/
Installing phpdbg binary: /usr/local/bin/
Installing phpdbg man page: /usr/local/php/man/man1/
Installing PHP CGI binary: /usr/local/bin/
Installing PHP CGI man page: /usr/local/php/man/man1/
Installing build environment: /usr/local/lib/php/build/
Installing header files: /usr/local/include/php/
Installing helper programs: /usr/local/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/lib/php/
[PEAR] Archive_Tar - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.3.0
[PEAR] PEAR - installed: 1.10.1
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
/root/php-7.0.9/build/shtool install -c ext/phar/phar.phar /usr/local/bin
ln -s -f phar.phar /usr/local/bin/phar
Installing PDO headers: /usr/local/include/php/ext/pdo/
|
到这里,PHP已经安装成功了。
关于如何配置PHP,请参考PHP的官方文档。
Nginx+PHP: http://php.net/manual/zh/install.unix.nginx.php
Nginx和PHP配置完成之后,创建测试文件:
1
|
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
|
访问http://localhost/index.php,如果可以将phpinfo打印到屏幕上,就证明 Nginx 和 PHP 配置正确。
Apache
如果出现不能解析 php 脚本的情况, 要检查一下 Apache 的配置文件有没有加载 php 扩展
1
|
LoadModule php7_module /usr/lib/apache2/modules/libphp7.so
|