设为首页 收藏本站
查看: 1066|回复: 0

[经验分享] linux下php环境搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-4-25 09:26:15 | 显示全部楼层 |阅读模式
原有的项目都为java项目 所以现有的环境为nginx+tomcat
现在要添加一个php环境

在编译安装php前,要先查看下nginx的运行用户,php也用用同样的用户

编译安装php
根据自己想需求选择相应的软件环境
for packages in patch make cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal nano fonts-chinese gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap;do yum -y install $packages; done

在这里我选择php5.3的版本
wget -c http://soft.vpser.net/web/php/php-5.3.17.tar.gz
选择php5.3版本编译mysql时不需要指定mysql路径,可用以下参数进行编译
--with-mysql=mysqlnd  --with-pdo-mysql=mysqlnd --with-pdo-mysql=mysqlnd


开始编译
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=nobody --with-fpm-group=nobody --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo
编译完后
make&&make install

编译时报错信息及解决方法
在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法
检查之后发现已经安装了libjpeg,但是在/usr/lib目录下没有libjpeg.so这个文件,在/usr/lib64下是有的
所以建立个软链接
ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so
问题解决, libpng 报的错误解决方法一样
ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so


configure: error: freetype.h not found.
gamedb:/data/soft/php-5.2.17 # zypper install freetype2-devel


configure: error: mcrypt.h not found. Please reinstall libmcrypt.
gamedb:/data/soft/php-5.2.17 # zypper install libmcrypt libmcrypt-devel

configure: error: Please reinstall libmhash - I cannot find mhash.h
gamedb:/data/soft/php-5.2.17 # zypper install mhash-devel

拷贝配置文件到安装目录中
cp php-5.3.17/php.ini-production /usr/local/php/etc/php.ini
配置文件放错位置的话也会导致项目异常
cd /usr/local/php/etc/ # 切换到安装目录下的配置文件目录
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
启用如下几行,即去掉前面的分号(;)
pid = run/php-fpm.pid
  error_log = log/php-fpm.log
  log_level = notice
  listen = 127.0.0.1:9000
  listen.allowed_clients = 127.0.0.1
  pm = dynamic
  pm.max_children = 50
  pm.start_servers = 5
  pm.min_spare_servers = 5
  pm.max_spare_servers = 35
  pm.max_requests = 500
  env[HOSTNAME] = $HOSTNAME
  env[PATH] = /usr/local/bin:/usr/bin:/bin
  env[TMP] = /tmp
  env[TMPDIR] = /tmp
  env[TEMP] = /tmp

wq保存退出
# /usr/local/php/sbin/php-fpm (启动PHP)
# netstat -antpl (如果看到9000端口,PHP-FPM配置成功)
注意:如果修改php.ini文件,则需要重启php-fpm进程使生效。

最后配置项目的nginx的配置文件使php和nginx链接


gamedb:/opt/nginx/conf/vhost # cat gzqq_2014.conf
server
        {
                listen       81;
                server_name www.abc.net;
                index index.php index.html index.htm;
                root  /data/web/abc/default;
                #root  /data/web/abc;
                location ~ .*\.(php|php5)?$
                        {
                                try_files $uri =404;
                                #fastcgi_pass  unix:/tmp/php-cgi.sock;
                                fastcgi_pass  127.0.0.1:9000;
                                fastcgi_index index.php;
                                include fcgi.conf;
                        }
                location /status {
                        stub_status on;
                        access_log   off;
                }
                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                                expires      30d;
                        }
                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }
                #access_log  /home/wwwlogs/access.log  access;
                #error_log   /home/wwwlogs/qzqq_erro.log;
        }



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-18375-1-1.html 上篇帖子: PHP利用FTP上传处理程序 下篇帖子: php自定义函数库 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表