Mic*_*ico 108 php apache frameworks laravel laravel-4
我的laravel网站以前工作过,我最近升级到了Apache 2.4和PHP 5.5.7.
现在,我得到一个白色的空白屏幕,当我去laravel.mydomain.com,没有在Apache的错误日志,路线等应该不错,因为之前的工作.
当我向/var/sites/laravel/public/.htaccess插入无效行时,.htaccess正在加载,因为我得到500.
继承人我的.htaccess:
$ cat /var/sites/laravel/public/.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Run Code Online (Sandbox Code Playgroud)
继承我的虚拟主机指令:
DocumentRoot "/var/sites/laravel/public"
ServerName laravel.mydomain.com
<Directory "/var/sites/laravel/public">
AllowOverride All
allow from all
Options +Indexes
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
和apachectl -S
$ /usr/local/apache2/bin/apachectl -S
VirtualHost configuration:
*:* is a NameVirtualHost
default server mydomain.com (/usr/local/apache2/conf/extra/httpd-vhosts.conf:25)
port * namevhost mydomain.com (/usr/local/apache2/conf/extra/httpd-vhosts.conf:25)
port * namevhost laravel.mydomain.com (/usr/local/apache2/conf/extra/httpd- vhosts.conf:34)
ServerRoot: "/usr/local/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/usr/local/apache2/logs/error_log"
Mutex rewrite-map: using_defaults
Mutex default: dir="/usr/local/apache2/logs/" mechanism=default
PidFile: "/usr/local/apache2/logs/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="daemon" id=1 not_used
Group: name="daemon" id=1 not_used
Run Code Online (Sandbox Code Playgroud)
fid*_*per 219
这个答案是否描述或帮助您的情况?升级到Apache 2.4会带来Apache配置的一些变化.
你在检查Laravel的日志还是Apache的日志?
自升级到Laravel 4.1以来,当应用程序无法写入日志位置时,我遇到了白屏"错误"(WSOD).我总是通过使Apache可写入的应用程序/存储目录(可写入"www-data","apache"或世界可写的组)来解决这个问题,这取决于您的服务器设置.
在Ubuntu/Debian服务器上,您的PHP可能以"www-data"用户身份运行.在CentOS/RedHat/Fedora服务器上,PHP可能以"apache"用户身份运行.
确保您的文件归运行PHP的用户所有:
# Debian/Ubuntu
$ sudo chown -R www-data /path/to/laravel/files
# CentOS/RedHat/Fedora
$ sudo chown -R apache /path/to/laravel/files
Run Code Online (Sandbox Code Playgroud)
请注意,您可能没有以用户www-data或apache身份运行.这取决于您的托管和设置!
# Group Writable (Group, User Writable)
$ sudo chmod -R gu+w app/storage
# World-writable (Group, User, Other Writable)
$ sudo chmod -R guo+w app/storage
Run Code Online (Sandbox Code Playgroud)
# Group Writable (Group, User Writable)
$ sudo chmod -R gu+w storage
# World-writable (Group, User, Other Writable)
$ sudo chmod -R guo+w storage
#####
# The bootstrap/cache directory may need writing to also
##
# Group Writable (Group, User Writable)
$ sudo chmod -R gu+w bootstrap/cache
# World-writable (Group, User, Other Writable)
$ sudo chmod -R guo+w bootstrap/cache
Run Code Online (Sandbox Code Playgroud)
小智 64
对于Laidevel 5及其新文件结构的fideloper答案的更新是:
$ sudo chmod -R o+w storage/
Run Code Online (Sandbox Code Playgroud)
Muk*_*ain 24
以下步骤解决了Laravel 5上的空白屏问题.
bootstrap/cache
和storage
目录的写权限sudo chmod -R 777 bootstrap/cache storage
.env.example
为.env
php artisan key:generate
这将生成加密密钥和更新的值APP_KEY
在.env
文件
这应该可以解决问题.
如果问题仍然存在,则config/app.php
使用从上面的artisan key generate命令生成的新密钥进行更新:
'key' => env('APP_KEY', 'SomeRandomString'),
至
'key' => env('APP_KEY', 'KEY_GENERATED_FROM_ABOVE_COMMAND'),
CG_*_*DEV 23
试试这个,在public/index.php页面中
error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
ini_set("display_errors", 1);
Run Code Online (Sandbox Code Playgroud)
Abd*_*leh 11
一般来说,如果Laravel向您显示没有错误的白页,那么首先要在.evn
文件中查找错误,我的错误是。
问题出在 .env 文件中APP_NAME
只是我更换了
APP_NAME=My Project Name
Run Code Online (Sandbox Code Playgroud)
到
APP_NAME="My Project Name"
Run Code Online (Sandbox Code Playgroud)
对于任何获得空白页面的人,即使在显示错误的存储空间之后,也可以将这两行放在public/index.php的第一行,看看至少发生了什么.对我来说这个错误是存在的:第16行的/var/www/***/config/database.php中找不到类'PDO'
error_reporting(E_ALL);
ini_set('display_errors', 1);
Run Code Online (Sandbox Code Playgroud)
小智 8
我还有一个选择为什么可能会出现空白页问题。如果您处于生产模式并且您通过 php artisan (config:cache) 缓存了配置文件,请尝试删除缓存文件执行:
php artisan config:clear
Run Code Online (Sandbox Code Playgroud)
或手动删除(bootstrap/cache/config.php)
运行此命令为我解决了它:
php artisan view:clear
Run Code Online (Sandbox Code Playgroud)
我猜一个空白的错误页面是某种缓存方式。必须清除缓存。
面对 Laravel 5.8 中的空白屏幕。给定 777 权限的存储和引导文件夹,一切似乎都很好。在
php artisan cache:clear
Run Code Online (Sandbox Code Playgroud)
这说明了什么问题它是白色空间中.ENV的应用程序名称的文件
当我刚接触Linux时.我经常在Laravel Project中发现这个错误.白色错误表示错误,可能有一些权限问题或错误.
你只需要按照两个步骤,并将像冠军一样工作:)
(1)给予许可.从项目的根目录运行这些命令
(a) sudo chmod 777 -R storage
(b) sudo chmod bootstrap/cache
Run Code Online (Sandbox Code Playgroud)
(2)如果您克隆项目或从github拉出然后运行
composer install
Run Code Online (Sandbox Code Playgroud)
(3)正确配置.env文件,您的项目将正常工作.
我花了将近2个小时才解决这个问题。这些是在答案中找到的原因:
vendor
文件夹并composer install
再次运行php artisan view:clear
php artisan cache:clear
php artisan route:clear
我尝试了一切,但仍然不起作用。
原来 apache/nginx 服务器的默认端口不是 PORT 80。当你安装 webpack 时,它可能会因为 Skype 或系统服务的损坏而改变。因此,您必须使用apache/nginx 服务器的默认端口 85,而不是访问yoursite.test
on 。localhost
yoursite.test:85
小智 5
我在CentOS服务器上遇到了类似的问题。使用php artisan serv并通过本地计算机上的8000端口访问它可以正常工作,但无法让我的远程计算机加载特定视图。我可以很好地返回字符串,并且正在加载一些视图。在我终于意识到这是SELinux问题之前,我追了一下权限。我只是将其从强制设置为宽松,并且有效。希望对其他可能遇到相同问题的人有所帮助。
setenforce permissive
Run Code Online (Sandbox Code Playgroud)
就我而言,我已经安装了laravel
很多次,并且我确信已正确授予文件夹写入权限。
就像上面的大多数答案一样:
\n\nsudo chmod 777 -R storage bootstrap\n
Run Code Online (Sandbox Code Playgroud)\n\n错误是我的nginx配置来自官方文档。
\n\n我只是在复制 \xef\xbc\x8ct 之后修改了域名,然后我得到了一个空白页。\n我尝试重新启动nginx
,php-fpm
但对我不起作用。
最后我添加了这一行配置来解决问题。
\n\nlocation ~ \\.php$ {\n\n # same as documentation ...\n\n fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n我希望我能帮助别人。
\n 归档时间: |
|
查看次数: |
151445 次 |
最近记录: |