【问题标题】:laravel Page not working when i uploaded my webapp to linux server当我将我的 webapp 上传到 linux 服务器时,laravel 页面无法正常工作
【发布时间】:2018-05-29 14:29:12
【问题描述】:

我在尝试打开 URL 时收到“页面不工作错误。我已将我的 laravel Web 应用程序上传到由 godaddy 提供的 Linux 服务器,并将 .htdocs 添加到该项目中,但是当我尝试访问该页面时显示页面不工作“内部服务器错误 500”,它没有显示任何错误。

当我检查 chrome 中的网络选项卡以查看正在加载哪些页面时,它没有加载任何文件,但它显示相同的错误 500 内部服务器错误。 我相信 .htaccess 应该有一些问题,它导致了错误,但我不知道如何为 Laravel 项目编写它。

下面是我的 .htaccess 文件。

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Deny access to dot files
    RewriteRule (^|/)\.([^/]+)(/|$) - [L,F]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^index.php [L]

    # Redirect non-www to www
    # RewriteCond %{SERVER_PORT} 80 
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteCond %{REQUEST_URI} webappname
    RewriteRule ^(.*)$ domainname/webappname/$1 [R,L]

    # Redirect http to https
     RewriteCond %{HTTPS} !=on
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

    # Handle Authorization Header
   # RewriteCond %{HTTP:Authorization} .
   # RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

【问题讨论】:

  • 因为错误消息已经告诉服务器端存在 internal 错误。因此,您的脚本很可能由于某些配置错误而崩溃。在这种情况下总是要做的第一件事是检查 http 服务器错误日志文件。这很可能是记录 php 错误的地方。那么你在那里读到错误的原因是什么?
  • 我在日志文件中发现以下错误。请检查。
  • [2018 年 5 月 28 日 10:10:51 UTC] PHP 致命错误:调用 /vendor/symfony/polyfill-mbstring/Mbstring 中的未定义函数 Symfony\Polyfill\Mbstring\iconv_strpos()。第 358 行的 php
  • 您的 php 设置没有安装 iconv 扩展:php.net/manual/en/book.iconv.php

标签: php linux laravel .htaccess


【解决方案1】:

根据您的最后一条评论,您使用的 PHP 版本似乎低于 Laravel 所需的版本。你用的是什么 Laravel 版本,你有什么 PHP?

【讨论】:

  • Laravel 版本为 4.2,安装的 php 版本为 5.6
  • 现在将php版本更新到7.0后,错误显示在网页上,而以前它没有显示在网页上。
  • &lt;?php phpinfo() 创建一个文件,看看mbstring和mcrypt是否出现在页面上。
  • mcrypt 已启用,但我看不到 mbstring
  • 那你需要安装它,因为它是 Laravel 的一个依赖。
猜你喜欢
  • 2013-05-15
  • 1970-01-01
  • 2013-09-19
  • 1970-01-01
  • 2016-11-13
  • 1970-01-01
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
相关资源
最近更新 更多