Board logo

标题: [教程] 安装多版本共存遇到的坑 [打印本页]

作者: wanggenfu    时间: 2018-10-13 23:29     标题: 安装多版本共存遇到的坑

因业务需求需要在服务器上单独运营一个PHP7的环境,这里把遇到的一些问题及解决方法与大家分享一下。
服务器上WDCP版本:v3.2.21、PHP环境是5.6、WEB引擎是N+A。

第一个问题就是PHP环境安装,按照官方指导:【官方链接】
wget http://down.wdlinux.cn/in/phps.sh
sh phps.sh
(共支持7个版本的PHP,如5.2.17/5.3.29/5.4.45/5.5.38/5.6.30/7.0.18/7.1.4)

默认安装使用版本,可以针对或选择性安装某个版本,如
sh phps.sh 7.1.4
即可安装7.1.4


这里碰到的一个坑就是安装到最后就会出现:

  1. checking for IMAP Kerberos support... no
  2. checking for IMAP SSL support... no
  3. checking for Firebird support... no
  4. checking whether to enable internationalization support... yes
  5. checking for icu-config... no
  6. checking for location of ICU headers and libraries... not found
  7. configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
  8. make: *** No targets specified and no makefile found.  Stop.


  9. x86_64
  10. CentOS release 6.8 (Final)
  11. ----Install Error: 7.1.4 -----------
复制代码




查了N久才发现是由于云锁引起的,此时把云锁停止掉再进行安装还是不行。
解决方案就是先将云锁卸载掉,等成功安装上PHP7后再重装安装云锁。附云锁卸载命令:
  1. echo y|/usr/local/yunsuo_agent/uninstall
复制代码


安装云锁的话直接通过WDCP控制面板就可以安装了。

第二个问题是安装成功后,给某个站点(thinkphp5框架)设置指定的PHP7.1环境后,除了首页可以正常访问之外,其它所有的页面都访问都跳转到了首页(如果是其它程序并设置的伪静态就有可能出现404页面)。一开始想到就是伪静态的配置问题,站点根目录下的.htaccess改了没有用、WDCP面板里站点设置中指定伪静态同样没有用。后排查许久终于解决问题:
打开/www/wdlinux/nginx-1.8.1/conf/vhost/对应站点域名.conf,添加如下代码:
  1.         location / {  
  2.                 # THINKPHP5 伪静态配置
  3.                 if (!-e $request_filename){
  4.                     rewrite  ^(.*)$  /index.php?s=$1  last;   break;
  5.                 }
  6.                 #---------------根据自己站点自定义伪静态
  7.                 try_files $uri $uri/ /index.php?$args;  
  8.         }
复制代码



大功告成!!!

另外吐槽一下,这里发图片,含中文的图片都上传失败。。。。




欢迎光临 WDlinux官方论坛 (http://wdlinux.cn/bbs/) Powered by Discuz! 7.2