1.安装达梦数据库并创建实例。
2.安装PHP环境。
第一步:下载php源码并预配置
#安装wget工具
yum install wget -y
#下载php源码
wget https://www.php.net/distributions/php-7.3.12.tar.gz
#解压php tar包
tar xf php-7.3.12.tar.gz
#进入php解压后的目录
cd php-7.3.12
#预配置
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/etc/conf.d \
--disable-cgi \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp \
--with-curl \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libedit \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-xsl \
--with-zlib \
--with-mhash \
--with-mysqli \
--with-png-dir=/usr/lib \
--with-jpeg-dir=/usr/lib\
--with-freetype-dir=/usr/lib \
--enable-mysqlnd \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-jis-conv \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip \
--enable-calendar \
--enable-intl \
--enable-exif
查看最后输出是否出现error:
如果没有error出现,并且出现如下字眼,则进行下一步
Thank you for using PHP
第二步:进行编译安装
make && make install
第三步:创建启动脚本
cp php.ini-development /usr/local/php/etc/php.ini
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
默认官方提供了一个systemd管理脚本
路径为:/root/php-7.3.12/sapi/fpm下php-fpm.service
#复制一份配置文件
cp php-fpm.conf.default php-fpm.conf
#拷贝启动脚本到指定目录
cp /root/php-7.3.13/sapi/fpm/php-fpm.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start php-fpm
systemctl enable php-fpm
systemctl status php-fpm
这个时候还没完,启动 会提示你找不到包含的配置文件:
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
systemctl start php-fpm
systemctl status php-fpm
这个时候不出意外就是正常状态:
查看进程是否存在
ps -ef|grep php-fpm
查看端口是否启动:
ss -lntup|grep 9000
3.安装Nginx
yum install -y nginx
4.配置Nginx,vi /etc/nginx/nginx.conf, 配置server。
server {
listen 80;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
5.在Nginx的映射路径中添加测试页面。
cd /usr/share/nginx/html
vi index.php
<?php
phpinfo();
?>
#wq 保存并退出
6.重启Nginx
service nginx restart
浏览器中访问 http://IP:端口/index.php
7.找到页面中Thread Safety
8.Thread Safety为enable选择ts扩展包。
9.拷贝达梦数据库驱动到PHP扩展路径 /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731中。
cp /home/dmdba/drivers/php_pdo/* /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731
10.配置php.ini,在末尾添加如下参数。(注意根据Thread Safety和PHP版本选择扩展包)
;扩展路径:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731"
;扩展包名:
extension=libphp73_dm.so
extension=php73_pdo_dm.so
;DM默认连接参数:
[dm]
; 是否允许持久性连接
dm.allow_persistent = 1
; 允许建立持久性连接的最大数. -1 为没有限制.
dm.max_persistent = -1
; 允许建立连接的最大数(包括持久性连接). -1 为没有限制.
dm.max_links = -1
; 默认的主库地址
dm.default_host = 127.0.0.1
; 默认的连接用户名
dm.default_user = SYSDBA
; 默认的连接口令.
dm.default_pw = SYSDBA
11.重启PHP服务
#停止服务
service php-fpm stop
#启动服务
service php-fpm start
#查看状态
service php-fpm status
12.通过php -m进行测试 如果出现异常
PHP message: PHP Fatal error: Unable to start dm module in Unknown on line 0
检测环境变量中是否添加数据库bin路径,
假定安装到/usr/local/DMDBMS 目录。修改 php.ini,添加 extension_dir=drivers/php_pdo,extension=libphp53_dm.so,添加 php.ini中有关连接的配置。设置环境变量 export LD_LIBRARY_PATH=/usr/local/DMDBMS/bin。
在/etc/bashrc中加入了上述的环境变量并重启了电脑,然而并没有什么作用,百度了一圈也没什么结果,本来打算暂时放弃,以后再说,突然想到动态链接库的话,是不是可以通过ld相关命令来解决,于是乎在/etc/ld.so.conf.d/下面建立了dm.conf,写入了需要设置环境变量的路径,然后ldconfig加载使之生效,果然解决问题了。
13.通过php -m 测试,扩展包加载成功
页面显示驱动加载成功