我收到此错误/myproject/vendor/composer/../../App/Http/helpers.php Laravel

时间:2017-07-10 12:16:38

标签: php laravel composer-php laravel-5.4

getting this错误

  

致命错误:require():需要打开失败   '/home/goboot5e/public_html/myproject/vendor/composer/../../App/Http/helpers.php'   (include_path中= ':/选择/ ALT / php56的/ usr /共享/梨:/选择/ ALT / php56的/ usr /共享/ PHP的')   在   /home/goboot5e/public_html/myproject/vendor/composer/autoload_real.php   在第66行

当我将项目上传到server(made live)

我已经改变的事情是(在localhost上工作得很好):

  1. 将所有public个文件复制到server root,即public_html

  2. 通过database文件

    配置的
  3. .env

  4. 更改了index.php中的路径(现在为public_html / index.php)

  5. 最重要的是,我制作了一个位于helpers.php

    的自定义App/Http/helpers.php

    我的composer.json文件autoload看起来像这样

    "autoload": {
            "classmap": [
                "database"
            ],
    
            "files": [
                "App/Http/helpers.php"
            ], 
            "psr-4": {
                "App\\": "app/"
            }
        },
    

    请提前帮助我!

2 个答案:

答案 0 :(得分:8)

试试这个。出现此问题的原因是laravel文件夹名称为app但您使用App。它在localhost上工作正常,因为Windows操作系统不区分大小写,但linux区分大小写。可能是你的PC是windows而服务器是linux

"files": [
            "app/Http/helpers.php"
        ],

更改运行composer dump-autoload并再次上传项目

注意:您现在只能上传composer folder (vendor\composer)autoload.php (vendor\)

答案 1 :(得分:0)

检查文件名的拼写。您的localhost的文件系统不区分大小写,而服务器则不区分大小写。

仔细检查所有名称是否与composer.json匹配。

例如,如果helpers.phpHelpers.php,则编辑器将找不到该文件。