Laravel错误无效

时间:2015-02-24 17:03:28

标签: php laravel

每当我的代码出错时..我在浏览器上看到的只是一个空白页面。没有错误。什么都没有。

我尝试在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

一切都好,对吗?但是,在加载我的脚本时出现错误,我仍然会得到一个空白的白页。为什么?

6 个答案:

答案 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

然而在我的情况下,我有足够的内存和交换。一个简单的重启修复它。您可以尝试重启,特别是如果您的服务器长时间处于开启状态。