全新安装 Laravel 5.1 时出错
Posted
技术标签:
【中文标题】全新安装 Laravel 5.1 时出错【英文标题】:Error when fresh install Laravel 5.1 【发布时间】:2015-10-17 03:33:01 【问题描述】:我安装了一个新项目 Laravel 5。它可以在本地运行,但不能在服务器(CentOS 7、LAMP)上运行。我按照 Laravel 的要求安装了服务器:
php >= 5.5.9 OpenSSL PHP 扩展 PDO PHP 扩展 Mbstring PHP 扩展 Tokenizer PHP 扩展 Mod_rewrite 已启用我在 storage 文件夹中执行了CHMOD 777
。当我在浏览器上运行项目时,没有任何显示。查看控制台选项卡,它显示“加载资源失败:服务器响应状态为 500(内部服务器错误)”。
error_log
文件的内容
[2015 年 7 月 27 日星期一 12:45:20.618306] [core:notice] [pid 1448] SELinux 启用政策; httpd 作为上下文运行 system_u:system_r:httpd_t:s0 [2015 年 7 月 27 日星期一 12:45:20.681536] [suexec:notice] [pid 1448] AH01232: 启用 suEXEC 机制(包装器:/usr/sbin/suexec) AH00558:httpd: 无法可靠地确定服务器的完全限定域名, 使用 localhost.localdomain。全局设置“ServerName”指令 压制这个混乱$ [Mon Jul 27 12:45:20.751429 2015] [auth_digest:notice] [pid 1448] AH01757:为摘要生成秘密 身份验证... [2015 年 7 月 27 日星期一 12:45:20.753167] [lbmethod_heartbeat:notice] [pid 1448] AH02282: 没有来自的 slotmem mod_heartmonitor [2015 年 7 月 27 日星期一 12:45:24.458038] [mpm_prefork:notice] [pid 1448] AH00163: Apache/2.4.6 (CentOS) PHP/5.6.11 已配置 -- 恢复正常操作 [7 月 27 日星期一 12:45:24.458129 2015] [core:notice] [pid 1448] AH00094:命令行: '/usr/sbin/httpd -D FOREGROUND' [2015 年 7 月 27 日星期一 12:53:02.593593] [:error] [pid 2558] [client 192.168.56.1:56015] PHP 致命错误: 带有消息“流”的未捕获异常“UnexpectedValueException” 或文件 $ [Mon Jul 27 12:53:02.663948 2015] [:error] [pid 2558] [client 192.168.56.1:56015] PHP 致命错误:未捕获的异常 'UnexpectedValueException' 带有消息'流或文件 $
请帮助我。谢谢!
更新:
我确实有一个 APP_KEY 并且 APP_DEBUG 也设置为 true。但我没有得到意见。我刚刚尝试在 routes.php
中回显一个字符串。
Route::get('/', function () echo 'test'; return view('welcome'); );
我可以看到“测试”这个词,但看不到视图..
p/s:storage
和 bootstrap/cache
中的所有文件夹都可写 (CHMOD 777)
完成:我在我的服务器上禁用 SELinux,这个问题已经解决:D 谢谢大家
【问题讨论】:
您使用的是什么网络服务器? nginx?阿帕奇? 顺便说一句,777 通常不受欢迎——一旦你开始工作,考虑收紧它。 @Ben:我正在使用 apache 您的 PHP 设置似乎没问题。您是否在 Laravel 项目中启用了调试功能?就我而言,我在项目根目录中打开了 .env 文件并将APP_DEBUG
设置为true。您可能还想检查 .htaccess 甚至 php ini 文件中的 error_reporting 设置。
【参考方案1】:
为您提供一些清单项目:
-
首先,检查 storage/logs 中的日志文件——这通常有答案。
检查 apache 日志文件。
确保
storage
中的所有子文件夹也可由网络服务器写入。
确保您已经安装了 mcrypt 扩展程序——这个总是让我很头疼。
确保您已运行 composer install
来安装 Laravel 的要求。
确保使用php artisan key:generate
设置您的应用程序密钥
将die('test');
添加到 public/index.php 的第 1 行以验证 apache 是否配置正确。
【讨论】:
谢谢 Ben,我确信 storege 中的任何子文件夹也可由网络服务器写入。但是,存储/日志中没有文件:(。我肯定会尝试所有推荐的解决方案。但问题还没有解决:( @Ben 我没有安装 mcrypt 扩展没有问题。 5.1。有趣的原因...特别是如果它在官方文档中被定义为“必须” apache 的日志文件中有什么内容吗?【参考方案2】:您是否创建了 .env 文件并设置了 APP_KEY?此外,您可以通过将APP_DEBUG=true
添加到您的 .env 文件来启用调试。
【讨论】:
看看这个讨论,告诉我它是否解决了你的问题。 laracasts.com/discuss/channels/general-discussion/… 谢谢,但我的问题仍然存在:(我更新了相关信息 如果你什么都不做,得到UnexpectedValueException
真的很奇怪。它是 Laravel 的全新安装吗?以上是关于全新安装 Laravel 5.1 时出错的主要内容,如果未能解决你的问题,请参考以下文章
Larave使用composer安装无反应,提示“Changed current directory to C:/Users/Administrator/AppData/Roaming/Compose
Larave使用composer安装无反应,提示“Changed current directory to C:/Users/Administrator/AppData/Roaming/Compose