首先下载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过程中可能会出现的问题:
1. 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 | make && make install |
经过“漫长”的等待后,编译完成
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 |