easyphp手动添加php版本

 超哥  php  2019-03-30  1195  发表评论
  • 背景 本地开发环境使用easyphp搭建,不同框架需要的php版本不同,最近需要使用lumen框架(laravel微框架),公司封装了框架,加了一些奇妙的东西,然后php版本最低要求7.18,然鹅,easyphp默认自带了5.6.3和7.1.3,很不巧妙,傻眼看着只差了0.0.5个版本,要再折腾一个版本,看下下easyphp官网,支持所有常见的php版本,然鹅添加非自带的版本扩展需要付费(10刀每年年),作为一名不起眼的码农,能动手绝不花钱(省钱还房贷),于是开动了各种常识。

  • 准备

    • 下载php7.2.16版本 windows下分ts(线程安全)和nts版本(线程不安全),如果php作为http服务器模块运行则需要选择ts版本,如果php通过cgi/fast-cgi启动独立进程通过socket和http服务器通信则需要选择nts版本,因为我喜欢使用nginx所以我的开发环境是nginx+fastcgi来运行php,所以我选择的具体版本是:php-7.2.16-nts-Win32-VC15-x86

    • 下载php_xdebug如需要

  • 安装步骤

  • 解压解压压缩包到C:\Program Files (x86)\EasyPHP-Devserver-17\eds-binaries\php(easyphp中php安装位置)

    1553874895599.png

  • 检测 easyphp启动页面此时并还不能选择php7.2版本

    1553875654576.png

  • 追踪 追踪easyphp自身web项目,easyphp本身也是通过web程序操作的,项目代码位置为:C:\Program Files (x86)\EasyPHP-Devserver-17\eds-dashboard

  • 找到原因 通过选择php版本位置追踪到切换规则

    1553875583440.png

  • 拷贝缺失的爱 找到上图代码位置,php版本目录下必须有eds-app-settings.php文件才能加入easyphp中选择,那么直接在easyphp自带的版本中拷贝即可,实际发现有三个php文件需要拷贝(eds开头即是eds-dashboard项目使用的文件)
    1553875817354.png

    1553876345489.png
  • 根据自身条件适应 拷贝文件后,打开发现有些需要修改的内容,只有eds-app-settings.php需要修改
    1553876414413.png
  • 经验之谈,不听吃亏 此时千万别切换php版本启动easyphp,否则你会发现nginx的所有配置将被还原,如果你用了很久的easyphp一定有很多vhost的配置,启动后将会一夜回到解放前,不信可以试试看,会哭

  • 继续找坑 通过php的规律应该同样nginx目录下应该也有一些php文件来启动nginx 的,或者通过页面请求追踪也是可以找到

    1553876776050.png

  • 继续填坑 就是eds-app-actions.php文件了,每次选择版本启动easyphp的时候都会读取store_vhosts.php中内容覆盖conf\nginx-vhosts.conf中,然鹅,store_vhosts.php文件并不存在,然后写入的就是空字符串了,然后曾经上百个虚拟主机就不翼而飞,这个和添加不添加php版本没有关系。不注释每次切换都会覆盖,除非自己手动保存到store_vhosts.php文件中。
    1553876922277.png
  • 大结局 最后选择7.2启动就好了
    1553877189108.png
所有评论
加载评论 ...
发表评论