- php很久之前接触过一段时间。虽然没有过大型项目经验,但也不算是陌生。
- 需要为公司搭建一个官网https://www.lanbeikeji.com ,考虑用php来实现,因为比较简单轻量。
- 也不计划使用数据库了,直接在源码中集成公司数据即可。
- 一切都很顺利,上线,还挺漂亮的,本人比较满意。
- 紧跟着【但是】就来了。莫名其妙本地Mac上的php环境就坏了。可能是升级导致的?到现在也没搞定。
- 看了下,php版本从8.0.26,升级到了8.0.28,使用php跑个啥文件都不行,升级试试:brew update就会抛错。
- 于是开始折腾。抛错说缺少libpq,那就link,报错没有权限。把opt文件夹设置为755,update又报另外一个包找不到。网络条件限制,时间就过去了一小时。
- 好吧,放弃。卸载php,重新安装试试。结果好。安装8.1失败。安装到一半,还是报这个libpq缺失。旧版本的php还都被卸载了。咋整。
- mac彻底被我玩坏了。docker来拯救我吧。
- 这个相对容易,php最新版本原来是8.2.24. brew源反正是没有的,docker源看到5小时前更新。。。这个咋这么巧呢?
- 好吧,使用php@8.2.24-fpm-buster总该好了吧。嗯,果然好了,9000已经看到在docker容器里边监听了。
- 因为一切从简,docker只安装了php,web服务器感觉也不需要,直接使用phpstorm中的插件好了吧。看到有一个php的build-in Web Server,心想那就用它吧,反正也比较简单。
- 一个小时又过去了。server倒是也建立起来了。
- 没安装任何的debugger,也用不到debug,小问题好修改。可是死活跑不起来。
- webserver建立起来了,访问就是不通。看了下,好像本地mac的端口号已经打开了。phpstorm再启动phpserver的时候,端口冲突了。
- 关键是。。。。tm咋不报个错啊!端口被占了啊,你咋启动的!!!!
- 那就换端口吧,搞了一个9988端口,这回肯定不会冲突了。启动了,访问,还是不通!此时已经又过了一个小时。有点上头了。
- 再搞,不知道为啥啊,php不熟啊,nnd。查看docker,进入容器里边,用curl发现首页是可以访问的。没有问题呀。
- 查防火墙?docker也没这个功能啊,端口没开吧,果然没开。那就打开。还是不好使。。。
- 此时又一个小时,天啊,晕了已经。
- 再仔细研究了一下,发现,phpstorm的web server,设置的host是localhost,端口xxx,如果是本地的php,没有问题,但是用到docker,php就是在容器内部了。启动php的server,虽然端口打开了,也通了,但是server监听的host是使用-S 参数传进去的。php server监听的host就是localhost了,此时的localhost,是docker!
- tmd找到了问题,就好办了。phpstorm中,build-in web server设置的地方,修改为0.0.0.0即可。
- 再试,果然好了。再看时间,已经凌晨近3点了。哎,很久没有这么专注过了。
版权归属:
火星人
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区