一个用Laravel Framework准备的项目交给我了。以前的开发者没有使用过 git,一些 composer 命令和 Laravel 的 .gitignore 文件(也删除了它)。另一方面,他已经在生产服务器上准备了项目。
无论如何。首先,我为 laravel 找到了一个 gitignore 并将该项目推送到我的存储库。然后我想把它拉到我的本地。除供应商文件夹外的所有文件夹和文件均已提取。
然后我执行了:
composer install
给了我这个错误:
Class 'Maatwebsite\Excel\Excel' not found
然后我通过方法 here 修复它。
然后重试composer install
,给了我这个错误:
Undefined index: name
然后通过方法 here 修复它。
然后重试composer install
,成功了。然后我用 php artisan cache:clear
我已经配置了 .env
文件并试图进入主页。它将我重定向到登录页面并给出了 404。我检查了 .htaccess,有这样的重定向:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ http://example.com/app/$1 [R=301,L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
# php -- BEGIN cPanel-generated handler, do not edit
<IfModule mime_module>
AddType application/x-httpd-ea-php73 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
将 example.com 更改为我的本地主机。但是还是给了我404。
有什么我遗漏的吗?
注意: 打电话给以前的开发人员,他说我“直接复制粘贴所有文件夹”。你好 90 年代:(
答案 0 :(得分:1)
OP 说这对他有用,所以我将它从评论转移到答案:
让我们看看页面应该有什么才能正确返回:首先,您需要一个路由文件夹,其中包含所有文件中的路由。其次,您需要 Controller 文件夹(位于 /app/Http 中)。第三,您需要具有实际视图的资源文件夹。第四,你需要带有 CSS/JS 等的公共文件夹。
因为 OP 声明除了登录视图之外的所有视图都可以工作:
首先找出登录视图页面的名称,然后转到您的路由并确保有诸如
之类的行Route::get('/login', 'SomeController@somefunction')->name('login.path');
然后去那个路由中引用的控制器,并确保函数返回登录页面的视图
答案 1 :(得分:0)
您是否尝试过使用 php artisan key:generate
生成 Laravel 应用程序密钥。
如果这也不起作用,请尝试删除 .htaccess
临时。
答案 2 :(得分:0)
试试这个命令
作曲家需要 maatwebsite/excel:^3.0