手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

PHP 5.3.10 + Nginx 1.0.12 + PostgreSQL 9.1.2 源码编译

[日期:2012-02-14] 来源:Linux社区  作者:zfx0906 [字体: ]

在玩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配置:

[plain]
  1. server {  
  2.         listen       80;  
  3.         server_name  www.example.com;  
  4.         index  index.html index.htm index.php;  
  5. location / {  
  6.             root   /srv/www;  
  7.         }  
  8. #....... custum  
  9. location ~ \.php$ {  
  10.             root           /srv/www;  
  11.             fastcgi_pass   127.0.0.1:9000;  
  12.             fastcgi_index  index.php;  
  13.             fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;  
  14.             include        fastcgi_params;  
  15.         }  
  16. }  

#/opt/nginx/sbin/nginx -s reload

编写网页测试:

#vi /srv/www/test.php

[php]
  1. <h3>Welcome!</h3>  
  2. <?php  
  3.    print "<p>This is a PHP example.</p>";  
  4. ?>  
  5. <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

linux
相关资讯       PHP  PostgreSQL  Nginx 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款