在玩php之前要先进行服务器和数据库的搭建,这里选择nginx和PostgreSQL,方法如下链接:
Nginx1.0.12源码编译 http://www.linuxidc.com/Linux/2012-02/54231.htm
PostgreSQL 9.1.2源码编译 http://www.linuxidc.com/Linux/2012-02/53983.htm
PHP的源码编译
依赖问题先见文后 PS , 我们继续 ...
PHP官方下载页面http://www.php.net/downloads.php
#cd /usr/local/src/php/
#wget http://www.php.net/get/php-5.3.10.tar.gz/from/us.php.net/mirror
解压php源代码:
#tar -zxvf php-5.3.10.tar.gz
编译配置(fastcgi):
#cd php-5.3.10
#./configure \
--prefix=/opt/php \
--with-config-file-path=/opt/php/etc \
--with-iconv-dir=/opt/php/3rdlibs/libiconv-1.14 \
--enable-fpm
#make && make install
make test 的话会提交一个环境兼容报告,随意吧
启动:
# cd /opt/php/etc
#cp php-fpm.conf.default php-fpm.conf && cd ..
#sbin/php-fpm
为php 设置nginx配置:
- server {
- listen 80;
- server_name www.example.com;
- index index.html index.htm index.php;
- location / {
- root /srv/www;
- }
- #....... custum
- location ~ \.php$ {
- root /srv/www;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
- include fastcgi_params;
- }
- }
#/opt/nginx/sbin/nginx -s reload
编写网页测试:
#vi /srv/www/test.php
- <h3>Welcome!</h3>
- <?php
- print "<p>This is a PHP example.</p>";
- ?>
- <p>Some static information found here...</p>
然后打开浏览器进行试验
http://www.example.com/test.php
上面并没有开启 --with-pgsql 支持,因为暂时还么用到,等用到再更新,如果想自己加入的话可以直接如下:
#cd $PHP_SRC_HOME
#./configure --with-pgsql=/path/to/pgsql + 加其他的就好了
PS :
遇到的依赖问题:
#yum -y install libxml2 libxml2-develautoconf
libiconv 依赖问题
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
#tar -zxflibiconv-1.14.tar.gz
#cd libiconv-1.14
#./configure --prefix=/opt/php/3rdlibs/libiconv-1.14/
#make && make install
#ls /opt/php/3rdlibs/libiconv-1.14/
如果遇到无法引用libiconv的问题,就修改php的Makefile
]# vi Makefile
在EXTRA_LIBS = ....的最后面加上-liconv
或者:
ZEND_EXTRA_LIBS = -liconv
或者直接设置变量
#make ZEND_EXTRA_LIBS = -liconv