Laravel - localhost:8000中达到的最大函数嵌套级别“100”

时间:2016-03-09 19:56:34

标签: php laravel phpstorm xdebug

我正在使用PhpStorm和localhost:8000

我正在尝试登录但在提交我的信息后出现了这个错误:

  

致命错误:达到“100”的最大功能嵌套级别,正在中止

我读到了这个问题并找出了更改 php.ini 并对此行进行评论:

zend_extension =“d:/wamp/bin/php/php5.3.8/zend_ext/php_xdebug-2.1.2-5.3-vc9.dll

我很乐于助人。 但我不知道php.ini localhost:8000的位置Error Number: select a.FOLIO, a.direccion, b.DESC_COLONIA, C.DESC_MPIO from emergencias@db1 a INNER JOIN AMSGEOCODING@db1 Z ON A.FOLIO=Z.FOLIO inner join cat_colonia@db1 b on A.CVE_COL=b.cve_col and A.CVE_MPIO=b.cve_mpio and A.CVE_ent=b.cve_ent INNER JOIN CAT_MPIO@db1 C ON C.CVE_MPIO =A.CVE_MPIO AND C.CVE_ENT=A.CVE_ENT WHERE a.folio>=8782583 and z.LATITUD =0 and z.LONGITUD<>-1 Filename: C:\wamp\www\myapp\system\database\DB_driver.php Line Number: 331 。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

你得到这个错误的原因是因为Laravel太深入地调用了嵌套级别的函数。例如,以下三个嵌套级别(主体,函数a,函数b)。

<?php
function b()
{
}

function a()
{
    b();
}

a();
?>

调试器扩展Xdebug确保此嵌套不会无限期地进行,因为这(以前)会导致服务器崩溃。在命令行上尝试 php -r 'function a() { a(); } a();',您可能会出现内存不足错误。

默认情况下,Xdebug将这些级别的最大值设置为“100”,尽管更新的版本会将默认值更改为“256”。您可以使用以下命令更改php.ini中的值:

xdebug.max_nesting_level=1000