linux下php环境搭建
admin
2023-07-03 14:05:08
0

原有的项目都为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;
        }


相关内容

热门资讯

易事达取得载带冷却定型装置专利... 国家知识产权局信息显示,浙江易事达电子材料有限公司取得一项名为“一种载带冷却定型装置”的专利,授权公...
深度推荐:2026年五大精选手... 本文全面梳理2026年手机电池批发市场主流品牌,聚焦续航升级与库存优化两大核心需求。通过对五大头部品...
法国外长要求安理会就以色列在黎... △法国外长巴罗(资料图)当地时间5月31日,法国外长巴罗宣布,他已要求召开一次联合国安全理事会紧急会...
大数据赋能矿山安全 科技先锋刘... 在煤炭产业高质量发展与智慧矿山建设加速推进的背景下,矿山安全监管正从传统人工巡查向数字化、智能化、预...
解压玩具“娜塔莎”引争议,它的... 最近,一款名为“娜塔莎”的婴儿造型“捏捏乐”解压玩具在网络上和校园里悄然流行,商家宣称其可以用来缓解...
坚持“四个面向” 矢志科技报国... 5月30日,第十个全国科技工作者日如期而至。日前,中央宣传部、中国科协向全社会发布“最美科技工作者”...
显微镜的“能源革命” ——无液... 我国自主研制闭循环光耦合SPM系统,为量子科技前沿研究提供可持续的“中国方案”。 导读 Part ...
五部门开展“百场万企”大中小企... 记者从工业和信息化部获悉,工业和信息化部、国家发展改革委、国务院国资委等五部门联合印发通知,组织开展...
22年,一个免费软件的域名之战 奇怪的是,从 2004 年推出以来,Paint.NET一直托管在 getpaint.net网站上,无...
柬埔寨一名中国地产商人被残忍杀... 柬埔寨首都金边一名中国男子,疑遭人绑架、勒索并残忍杀害。其尸体于5月30日上午,在金边市朗哥区一处空...