Я получаю сообщение об ошибке «Страница не работает» при попытке открыть URL-адрес. Я загрузил свое веб-приложение laravel на свой сервер Linux, предоставленный godaddy, и добавил .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>
Я нахожу приведенную ниже ошибку в файле журнала. пожалуйста, проверьте.
[28 мая 2018 г. 10:10:51 UTC] Неустранимая ошибка PHP: вызов неопределенной функции Symfony \ Polyfill \ Mbstring \ iconv_strpos () в /vendor/symfony/polyfill-mbstring/Mbstring.php в строке 358
В вашей настройке php не установлено расширение iconv: php.net/manual/en/book.iconv.php






Согласно вашему последнему комментарию, похоже, что вы используете версию PHP ниже, чем требуется Laravel. Какую версию Laravel вы используете и какой у вас PHP?
Версия Laravel - 4.2, а установленная версия php - 5.6.
Теперь после обновления версии php до 7.0 ошибка отображается на веб-странице, где, как и раньше, она не отображалась на веб-странице.
создайте файл с <?php phpinfo() и посмотрите, отображаются ли mbstring и mcrypt на странице как включенные.
mcrypt включен, но я не вижу mbstring
Затем вам нужно установить его, потому что это зависимость Laravel.
Как уже сообщается в сообщении об ошибке, на стороне сервера есть ошибка внутренний. Так что, скорее всего, ваши скрипты вылетят из-за неправильной конфигурации. Первое, что нужно сделать в таких ситуациях всегда, - это проверить файл журнала ошибок http-серверов. Скорее всего, здесь регистрируются ошибки php. Так какую причину ошибки вы там читаете?