记录老Thinkphp项目在win10系统运行遇到的一些问题
运行环境
win10
Laragon
php-7.4.19-Win32-vc15-x64
Nginx1.19
mysql5.7
需求
旧项目功能迭代,将项目拉到本地运行
问题
项目线上环境是Apache + PHP7.3,为了还原线上环境,需要下载一个PHP7.3
进入 PHP官网下载页, 发现最低下载版本也到了7.4,汗。经过一番搜索,终于找到了 windows.php.net - /downloads/releases/archives/
- 模板文件不存在的问题 ***.php
1 |
|
1 |
|
经过又一番搜索,TM的不管是中文还是英文搜索都找不到答案…只能自己看源码。好在源码写的还算简单,应该是缺少了模板的配置文件,项目里存在的配置文件config/template.php
,源码里调用的应该是config/view.php
。这个问题就解决了。出于好奇,我分别去看了ThinkPHP6文档和think-view,发现 Github 里 README.md 写的是错的,文档写的是正确的,也不知道是啥历史遗留问题,issue里也有人提到这个。这个坑我踩了。
- PHP7.3、7.4的区别
以数组形式访问非数组 这种操作在7.4之前是被允许的
注意:
数组解引用非 string 的标量值会产生 null。 在 PHP 7.4.0 之前,它不会发出错误消息。 从 PHP 7.4.0 开始,这个问题产生 > E_NOTICE ; 从 PHP 8.0.0 开始,这个问题产生 E_WARNING 。
举个真实例子,如下:
1 |
|
- 执行
composer update -vvv
报错
thinkphp 版本6.0.0
composer版本 2.2.9Script @php think service:discover handling the post-autoload-dump event returned with error code 255
经过一番搜索,有位朋友踩了坑并记录了下来,记一次thinkphp使用composer的踩坑记录,非常感谢这位朋友
吐槽
也不知道是不是我屏蔽了 CSDN 的缘故,遇到 ThinkPHP 框架相关问题搜索起来总是很费劲。为什么这么说呢,因为这套框架属于国人开发,国外几乎不会使用,但是使用的国人极少有分享精神将遇到的问题、解决思路分享出来。
Reference
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!