经常在给客户搭建DirectAdmin面板的时候同时装了PHP7.3和PHP5.6,但是由于要使用5.6的网站太多,一个个改不现实。只能默认PHP1用5.6,PHP2用7.3。
但是这样又不能用最新版phpmyadmin了。看了官方论坛找到解决方案,记录一下:
第一部分:
给WEBAPP指定php版本
修改/etc/httpd/conf/extra/httpd-hostname.conf文件,把php5和php56改为php7和php73
<Directory /var/www/html> <FilesMatch "\.(inc|php[0-9]*|phtml|phps)$"> AddHandler "proxy:unix:/usr/local/php56/sockets/webapps.sock|fcgi://localhost" .inc .php .php5 .php56 .phtml </FilesMatch>
<Directory /var/www/html> <FilesMatch "\.(inc|php[0-9]*|phtml|phps)$"> AddHandler "proxy:unix:/usr/local/php73/sockets/webapps.sock|fcgi://localhost" .inc .php .php7 .php73 .phtml </FilesMatch>
然后重启apache并测试
systemctl restart httpd
测试OK后把自定义的文件存到custombuild里防止被覆盖:
mkdir -p /usr/local/directadmin/custombuild/custom/ap2/conf/extra/ cp /etc/httpd/conf/extra/httpd-hostname.conf /usr/local/directadmin/custombuild/custom/ap2/conf/extra/
第二部分:
强制锁定phpmyadmin版本方法
目前最新版本的phpmyadmin是5.0.4,强制吧版本号和MD5配置进去,后续在custombuild里更新程序不会掉回去4.9.7版本
cd /usr/local/directadmin/custombuild echo "phpmyadmin:5.0.4-all-languages:6af96f037e3a0683c5b77639c1f5ea5d" >> custom_versions.txt echo "phpmyadmin4:5.0.4-all-languages:6af96f037e3a0683c5b77639c1f5ea5d" >> custom_versions.txt ./build phpmyadmin