1. php编译 1.1. 安装依赖包 1 yum install sqlite-devel libxml2 libxml2-devel libcurl-devel oniguruma oniguruma-devel 
1.2. 编译php 1 2 3 4 cd ~ wget https://www.php.net/distributions/php-7.4.33.tar.gz cd php-7.4.33 ./configure --prefix=/usr/local/php7/ --with-config-file-path=/usr/local/php7 --enable-fpm --enable-mbstring --enable-bcmath --enable-fileinfo --with-openssl --with-zlib --with-iconv --with-curl --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-xml --enable-sockets --enable-soap --enable-cli 
如果出现缺少依赖的情况比如下图就是缺少sqllite3的依赖,缺少就用yum安装对应依赖,安装完重新执行./configure --prefix=/usr/local/php7/ --with-config-file-path=/usr/local/php7  
1 2 3 4 5 6 7 8 9 10 configure: error: Package requirements (sqlite3 > 3.7.4) were not met: Package 'sqlite3', required by 'virtual:world', not found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables SQLITE_CFLAGS and SQLITE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. 
一直到出现下面的提示,才算成功,缺少什么依赖就yum安装什么依赖  
1 2 3 4 5 6 7 8 9 10 +--------------------------------------------------------------------+ | License:                                                           | | This software is subject to the PHP License, available in this     | | distribution in the file LICENSE. By continuing this installation  | | process, you are bound by the terms of this license agreement.     | | If you do not agree with the terms of this license, you must abort | | the installation process at this point.                            | +--------------------------------------------------------------------+ Thank you for using PHP. 
编译并安装  
一直到出现 Build complete提示就成功了,类似下面这样  
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Build complete. Don't forget to run 'make test'. Installing shared extensions:     /usr/local/php7/lib/php/extensions/no-debug-non-zts-20190902/ Installing PHP CLI binary:        /usr/local/php7/bin/ Installing PHP CLI man page:      /usr/local/php7/php/man/man1/ Installing phpdbg binary:         /usr/local/php7/bin/ Installing phpdbg man page:       /usr/local/php7/php/man/man1/ Installing PHP CGI binary:        /usr/local/php7/bin/ Installing PHP CGI man page:      /usr/local/php7/php/man/man1/ Installing build environment:     /usr/local/php7/lib/php/build/ Installing header files:          /usr/local/php7/include/php/ Installing helper programs:       /usr/local/php7/bin/   program: phpize   program: php-config Installing man pages:             /usr/local/php7/php/man/man1/   page: phpize.1   page: php-config.1 /root/php-7.4.33/build/shtool install -c ext/phar/phar.phar /usr/local/php7/bin/phar.phar ln -s -f phar.phar /usr/local/php7/bin/phar Installing PDO headers:           /usr/local/php7/include/php/ext/pdo/ 
1.3. 配置php 配置php.ini 给php执行程序建立软连接  
1 2 cp php.ini-production /usr/local/php7/php.ini ln -s /usr/local/php7/bin/php /usr/bin/php 
可以执行php -m和php -v测试php是否安装成功  
2. 安装达梦数据库DM8 2.1. 准备环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 cd ~ # 下载 wget https://download.dameng.com/eco/adapter/DM8/202401END/dm8_20231226_HWarm920_kylin10_sp1_64.zip # 解压 unzip dm8_20231226_HWarm920_kylin10_sp1_64.zip -d ~/dm8 cd ~/dm8 # 创建用户所在的组 groupadd dinstall # 创建用户 useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba # 修改用户密码 需要输入两次密码 注意密码要一致同时最好大小写字母+数字 passwd dmdba # 修改文件打开最大数(重启服务器后永久生效) 下面多行一起复制到EOF再粘贴 回车 cat >> /etc/security/limits.conf <<EOF dmdba hard nofile 65536 dmdba soft nofile 65536 dmdba hard stack 32768 dmdba soft stack 16384 EOF # 挂载iso安装盘 mount dm8_20231226_HWarm920_kylin10_sp1_64.iso /mnt # 创建目录用于安装达梦数据库 mkdir /usr/local/dm8 # 查看临时目录大小 df -h 
1 2 3 4 5 6 7 8 9 10 11 [root@ecs-9883 ~]# df -h Filesystem      Size  Used Avail Use% Mounted on devtmpfs        1.5G     0  1.5G   0% /dev tmpfs           1.8G     0  1.8G   0% /dev/shm tmpfs           1.8G   14M  1.7G   1% /run tmpfs           1.8G     0  1.8G   0% /sys/fs/cgroup /dev/vda2        39G  6.3G   30G  18% / tmpfs           1.8G   64K  1.8G   1% /tmp /dev/vda1      1022M  5.8M 1017M   1% /boot/efi tmpfs           349M     0  349M   0% /run/user/0 /dev/loop0      984M  984M     0 100% /mnt 
注意检查/tmp,这里显示Size只有1.8G,达梦要求临时目录最小为2G。所以需要执行一个指定临时目录的命令,够大的不用执行。  
1 2 3 4 5 6 # 给dmdba用户授予dm8安装目录权限 chown dmdba:dinstall -R /usr/local/dm8/ chmod -R 755 /usr/local/dm8 # 切换到dmdba用户 su - dmdba 
指定临时目录 /tmp 目录够大的省略下面这两行
1 2 mkdir ~/tmp export DM_INSTALL_TMPDIR=~/tmp 
2.2. 安装 1 2 cd /mnt ./DMInstall.bin -i 
提示输入key时输入n 不输入
1 是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n 
安装类型为1典型安装
1 2 3 4 5 6 安装类型: 1 典型安装 2 服务器 3 客户端 4 自定义 请选择安装类型的数字序号 [1 典型安装]:1 
请选择安装目录输入我们自己创建的目录/usr/local/dm8。
1 2 3 请选择安装目录 [/home/dmdba/dmdbms]:/usr/local/dm8 可用空间: 27G 是否确认安装路径(/usr/local/dm8)? (Y/y:是 N/n:否)  [Y/y]:y 
安装完成按照提示执行
请以root系统用户执行命令:
安装结束  
 
1 2 3 4 # 切换回root用户 su - root # 执行 /usr/local/dm8/script/root/root_installer.sh 
3. 给PHP配置达梦数据库 1 2 3 # 复制达梦的php库到php库目录 cp /usr/local/dm8/drivers/php_pdo/php74* /usr/local/php7/lib/ cp /usr/local/dm8/drivers/php_pdo/libphp74* /usr/local/php7/lib/ 
修改/usr/local/php7/php.ini文件,添加达梦配置,可以使用vi命令或sftp客户端修改。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [PHP_DM] extension_dir ="/usr/local/php7/lib/" extension=libphp74_dm.so   extension=php74_pdo_dm.so [dm] dm.port=5236 ; 是否允许持久性连接 dm.allow_persistent = 1 ; 允许建立持久性连接的最大数. -1 为没有限制. dm.max_persistent = -1 ; 允许建立连接的最大数(包括持久性连接). -1 为没有限制. dm.max_links = -1 ; 默认的主机地址 dm.default_host = localhost ; 默认登录的数据库 dm.default_db = SYSTEM ; 默认的连接用户名 dm.default_user = SYSDBA ; 默认的连接口令. dm.default_pw = SYSDBA ;连接超时,这个参数未实际的用到,等待服务器支持 dm.connect_timeout = 10 ;对于各种变长数据类型,每列最大读取的字节数。如果它设置为 0 或是小于 0,那么,读取变长字段时,将显示 NULL 值 dm.defaultlrl = 4096 ; 是否读取二进制类型数据,如果它设置为 0,那么二进制将被 NULL 值代替 dm.defaultbinmode = 1 ;是否允许检察持久性连接的有效性,如果设置为 ON,那么当重用一个持久性连接时,会检察该连接是否还有效 dm.check_persistent = ON 
设置环境变量指定达梦数据库的安装位置
1 2 3 4 5 cd /etc/ld.so.conf.d/ # 在此目录下创建dm.conf文件 touch dm.conf # 编辑文件在文件里写上达梦的执行文件路径 /usr/local/dm8/bin  也可以用sftp客户端操作 vi dm.conf 
执行ldconfig使环境遍历生效,此时可以执行php -m检验。