安装thinkphp5后访问public index.php 报错require(/www/wwwroot/test3.com/public/../vendor/autoload.php)

根据网上教程,把thinkphp5版本通过git下载到项目里,但是

检查发现,vendor下的很多文件都不存在,为啥?

于是去网上搜,网上建议是在linux下安装composer

那么什么是composer呢,概念:

Composer的依赖关系管理风格,看上去更像Java的Maven。项目编译和打包、依赖关系的解决都可以很轻松的实现。再也不用费神去寻找或者更新第三方库,或者将他们集成到一起。这一切全部都可以交给Composer来完成。

(vendor目录是放置composer类库文件的)

所有cd切换到vendor目录下,

然后运行composer install

但是报错了,提示

[ErrorException]                                 
  putenv() has been disabled for security reasons 

因此需要把php.ini里禁用掉这个函数的配置去除。(项目用的是php7.2,为何也要把php5.6禁用才可以?)

运行composer install 后,发现vendor目录就有了丢失的文件了。

 

ps:

tp5的目录结构,我们知道其中有两个目录是放置扩展类库文件的。

extend是放置自定义或者其他类文件的。

vendor目录是放置composer类库文件的。

 

但是解决了这个vendor目录问题后,又有新的问题,访问报错变成了

Parse error: syntax error, unexpected ':', expecting '{' in /www/wwwroot/test3.com/vendor/topthink/think-helper/src/helper.php on line 233

查看了helper.php 这个安装composer后才有的代码,发现版本居然是很低的版本,声明方法后还有多个:参数类型

这个需要php5.4之前的版本才可以用。

但是thinkphp框架代码又是用的高版本写的,比如如果把5.6换成5.3版本,也会报错,变成

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /www/wwwroot/test3.com/public/index.php on line 18

这可什么情况啊。。。。。为了先节省时间,后面再研究,直接去网上下个现成框架文件,下载一个压缩包tp5.1,后传到服务器的站点根目录。

 

ThinkPHP5.0.24完整版下载地址

 

下载地址:https://www.thinkphp.cn/donate/download/id/1278.html

 

 

 

参考文档:

https://www.kancloud.cn/manual/thinkphp5/118006

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章