每当我的代码出错时..我在浏览器上看到的只是一个空白页面。没有错误。什么都没有。
我尝试在config / app.php中将debug
转为true
。我试过运行php artisan optimize
。没有不同。我试过了this post,这是我命令行中产生的错误;
The following exception is caused by a lack of memory and not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details
PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php:974
Stack trace:
#0 [internal function]: Composer\Util\ErrorHandler::handle(2, 'proc_open(): fo...', 'phar:///usr/loc...', 974, Array)
#1 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(974): proc_open('stty -a | grep ...', Array, NULL, NULL, NULL, Array)
#2 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(784): Symfony\Component\Console\Application->getSttyColumns()
#3 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(745): Symfony\Component\Console\Application->getTerminalDimensions()
#4 phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php(675): Symfony\Component\Console\Application->getTerminalWidth()
#5 phar:///usr/local/bin/com in phar:///usr/local/bin/composer/vendor/symfony/console/Symfony/Component/Console/Application.php on line 974
所以这是另一个需要处理的问题......我仍然没有出现错误。我只是想表现出一些有意义的错误......我还能尝试什么?
*更新*
我按照上面的错误消息中的建议跟踪了this guide。我得到了一个非常积极的回应;
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 1.6144 s, 665 MB/s
所以我尝试再次运行composer update
。我收到了这个回复;
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Removing laravel/framework (v5.0.5)
- Installing laravel/framework (v5.0.6)
Downloading: 100%
- Installing filp/whoops (1.1.3)
Loading from cache
Writing lock file
Generating autoload files
Generating optimized class loader
Compiling common classes
Compiling views
一切都好,对吗?但是,在加载我的脚本时出现错误,我仍然会得到一个空白的白页。为什么?
答案 0 :(得分:7)
首先尝试这个命令
/ bin / dd if = / dev / zero of = / var / swap.1 bs = 1M count = 1024
/ sbin / mkswap /var/swap.1
/ sbin / swapon /var/swap.1
sudo作曲家更新
答案 1 :(得分:2)
你得到了这个错误,因为Composer内存不足(它发生),如何解决这个问题,例如:Composer update trouble
您可以尝试更改内存限制,或者如果您在本地进行开发,则会在服务器上出现错误;将composer.lock
- 文件保存在您的git-repository中(或者您用于部署项目的位置)。
现在,您可能正在获取白页,因为实际上没有加载框架(因此甚至没有读取"debug" => true
)。
答案 2 :(得分:2)
这不是一个bug并予以解决-要启用交换,您可以使用例如:
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
参考:https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors
希望它会对您有所帮助:)
答案 3 :(得分:1)
如果您克隆了一个laravel项目并尝试过" composer update",您首先需要运行" composer install"代替
答案 4 :(得分:0)
在我的情况下,我在我的composer.json中有predis / predis,它是REDIS的一个包。由于我无法安装第一个REDIS,我认为这是导致我收到错误的主要原因“以下异常是由于内存不足而没有配置交换”。我刚刚删除了我的composer.json上的predis / predis,一切都很顺利。
答案 5 :(得分:0)
这意味着作曲家没有足够的内存。这可能会发生,因为VPS内存不足并且没有启用交换空间。您可以使用以下文章启用交换: https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors
然而在我的情况下,我有足够的内存和交换。一个简单的重启修复它。您可以尝试重启,特别是如果您的服务器长时间处于开启状态。