centos Learning: compile and install PHP

1、选择版本
下载地址
http://php.net/downloads.php
本节课我们使用5.6.x系列。大家也可以使用PHP7。目前本课程不使用这个版本
2、同样是使用./configure
 使用最简单的方式编译安装

  ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/myapache/bin/apxs

 PHP并不是完全独立的代码,很多功能也要依赖一些开源库。这一点一定要注意,所以这就是为什么安装时需要安装其他 各种依赖库
3、PHP的真正运行方式

PHP编译好后,会有一个可执行程序(在windows上就叫 php.exe)

PHP 是脚本解释运行。所以真正运行PHP的就是这个解释器.

Webserver怎么和PHP交互的?
4、通用的方式就是CGI

通用网关接口(Common Gateway Interface)。充当了webserver和PHP之间的桥梁。
1、用户请求webserver
2、webserver调用CGI,创建进程和PHP解释器进行交互。然后把结果给webserver,再返还给用户浏览器。
后面有各种升级版如FastCGI ,包括PHP的FASTCGI进程管理器(FPM)
5、推荐方式—模块方式

Php编译成webserver的模块,随webserver一起启动。本课时用的apache就是这种方式。
我们加了参数 --with-apxs2
apxs 是apache的扩展工具。如果我们将来也要自己写apache 模块,那么也要用到这个(PHP当然也要用啦)
6、编译好后

查看apache的配置文件,它会帮你加入这么一行
LoadModule php5_module        modules/libphp5.so
libphp5.so就是刚才我们生出来的
我们在目录下创建一个PHP文件试试看

然而发现并没卵用

原因很简单,apache不认识xxx.php后缀。
继续打开apache配置文件
AddType application/x-httpd-php .php

Later Error Summary:

cd /wdzj/source/php-5.6.11/ext/openssl

/wdzj/lnmp/php5.6.11/bin/phpize

Cannot find config.m4.
Make sure that you run ‘/wdzj/lnmp/php5.6.11/bin/phpize’ in the top level source directory of the module

cp config0.m4 config.m4

yum -y install autoconf

/wdzj/lnmp/php5.6.11/bin/phpize

./configure –with-openssl –with-php-config=/wdzj/lnmp/php5.6.11/bin/php-config

make; make install

yum install error: protected multilib versions error

sudo yum downgrade openssl 降级
sudo yum install openssl-devel

Published 65 original articles · won praise 3 · views 50000 +

Guess you like

Origin blog.csdn.net/web_orange/article/details/74002493