2.LNPP源码搭建Zabbix5.0.3之CentOS7.6下源码安装php7.2.33

1.php下载

https://www.php.net/

需要下载7.2以后的版本,这里我使用的是7.2.33

2.安装依赖包

注意,这里不能安装postgresql12,可能是因为pg12太新,php还没有匹配

yum -y install tar  gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel openldap openldap-devel libmcrypt libmcrypt-devel
yum install  \
libxml2  \
libxml2-devel  \
openssl  \
openssl-devel  \
libcurl  \
libcurl-devel  \
libjpeg  \
libjpeg-devel  \
libpng  \
libpng-devel  \
freetype  \
freetype-devel  \
libmcrypt  \
libmcrypt-devel  \
bzip2 \
bzip2-devel \
zip \
-y

3.编译安装php

解压缩安装文件,进入文件,进行安装配置

首先configure:

echo '/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64'>>/etc/ld.so.conf
ldconfig -v
cp /usr/lib64/libldap* /usr/lib/

./configure --prefix=/usr/local/php  \
--with-config-file-path=/usr/local/php/etc  \
--enable-ctype \
--with-freetype-dir  \
--with-jpeg-dir  \
--with-png-dir  \
--with-zlib  \
--with-libxml-dir=/usr  \
--enable-xml  \
--disable-rpath  \
--enable-bcmath  \
--enable-shmop  \
--with-bz2 \
--enable-sysvsem  \
--enable-inline-optimization  \
--with-curl  \
--enable-mbregex  \
--enable-fpm  \
--enable-mbstring  \
--with-gd  \
--with-openssl  \
--with-mhash  \
--enable-pcntl  \
--enable-soap  \
--with-gettext  \
--with-pgsql=/usr/bin \
--with-kerberos \
--enable-libxml \
--enable-xml \
--with-ldap \
--enable-sockets \
--enable-json \
--with-gettext 

make:

make之前需要修改下面的配置:

make过程中出错:
ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_strdup'
//usr/lib/x86_64-linux-gnu/liblber-2.4.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
解决办法:遇到这种类似的情况,说明「./configure 」沒抓好一些环境变数值。解决方法,来自老外的一篇文章:
在PHP源码目录下 vi Makefile 找到 EXTRA_LIBS 开头行,在行末添加 ‘ -llber ‘ 保存退出再次make即可。

最后make install

1. 将php可执行程序连接到bin下

/usr/local/php/bin/php -v

ln -s /usr/local/php/bin/php /usr/local/bin/

php -v

ln -s /usr/local/php/sbin/php-fpm /usr/local/bin

php-fpm -t

2. php的管理命令

php -i|grep ini #查看配置文件路径

php -m  #查看php的模块

php -i|grep config #查看编译参数

php-fpm  #启动php-fpm,目前还无法启动,得拷贝个配置文件

3.添加fpm自动启动

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

3.配置php

1.拷贝php配置文件 :

cp php.ini-production /usr/local/php/etc/php.ini

2.拷贝php-fpm配置文件:

mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
mv /usr/local/php/etc/php-fpm.d/www.conf.default  /usr/local/php/etc/php-fpm.d/www.conf

3.启动php-fpm

[root@zabbix-server php-fpm.d]# service php-fpm start
Starting php-fpm  done
[root@zabbix-server php-fpm.d]# 
[root@zabbix-server php-fpm.d]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      14408/php-fpm: mast 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3367/sshd           
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      12784/postgres      
tcp6       0      0 :::22                   :::*                    LISTEN      3367/sshd           
tcp6       0      0 :::5432                 :::*                    LISTEN      12784/postgres 

4.测试php连通pg

创建php文件,注意修改下面的ip地址用户名密码,数据库名

<?php
$conn_string  =  "host=192.168.56.51 port=5432 dbname=postgres user=postgres password=postgres" ; 
$dbconn = pg_connect($conn_string);
if (!$dbconn) 
    echo "连接失败!!!!!/r/n";
else 
    echo "连接成功!!!!!/r/n";
    pg_close($dbconn);
?>

使用php进行测试:

[root@zabbix-server ~]# php test.php 
连接成功!!!!!/r/n[root@zabbix-server ~]# 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值