2017-03-14 6 views
1

이것은 동일한 컴퓨터에서 실행되는 두 번째 laravel 프로젝트입니다. 첫 번째 작품은 괜찮아요.두 번째 laravel 프로젝트 (v5.4) PHP 치명적 오류 : 허용 된 메모리 크기 134217728 bytes exhausted (262144 바이트 할당 시도)

프로젝트에 xampp을 사용합니다.

내가

artisan serve

를 실행할 때 다른 신선한 새로운 버전 (5.4) laravel를 설치 한 후 phpstorm 내가 이것에 대해 other post을 시도하고, php.ini 파일을 변경하려고

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 262144 bytes) in E:\xampp\htdocs*****\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 549

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 262144 bytes) in E:\xampp\htdocs*****\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 549

Process finished with exit code 255 at 13:58:28. Execution time: 4,976 ms.

말해. 내 사건에는 적용되지 않습니다.

+0

웹 브라우저에서 실행하면 동일한 오류가 발생합니까? – MonkeyZeus

답변

-3

이것은 서버 설정 문제와 유사하지 않습니다. 이것은 Laravel 설정 문제입니다. php.ini에서 memory_limit를 늘려도 문제가 해결되지 않습니다. Laravel은 일반적으로 올바르게 설정하지 않으면 도움이되지 않는 오류를 발생시킵니다.

작곡가를 실행 한 후에 php artisan serve을 실행하기 전에 다음을 수행했는지 확인하십시오.

  1. 루트는
  2. 실행 작곡가 설치 /public 폴더로 지적된다. 일부 공급 업체 폴더가 누락되었을 수 있습니다.
  3. /storage의 허가는 777입니다. /storage/logs/laravel.log < - 여기에 실제 오류가 표시됩니다.
  4. 것은 생성 .env.example
  5. 의 사본 일명 .env를 작성해야합니다 열쇠 또한 php artisan key:generate

당신이 당신의 .env 파일에 변수를 만들 때이 같은 문제가 발생합니다 공백이없는 것을 조심 잘.

  • 나쁜 당신이 MAMP처럼 뭔가를 실행하는 경우 그렇게처럼 .env의 파일에 UNIX_SOCKET 변수를 포함 할 수 있습니다 DB_DATABASE=my_database_name

마지막으로 DB_DATABASE=my database name

  • 좋은 :

    DB_CONNECTION=mysql 
    DB_HOST=127.0.0.1 
    DB_PORT=3306 
    DB_DATABASE=your_database_name_here 
    DB_USERNAME=root 
    DB_PASSWORD=root 
    UNIX_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock 
    

    을 /config/database.php 파일에 변수를 만듭니다.

    'mysql' => [ 
        'driver' => 'mysql', 
        ... 
        'engine' => null, 
        'unix_socket' => env('UNIX_SOCKET','') 
    ], 
    
  • +0

    Thanks @ user3029357. 당신은 이것에 대한 올바른 방향을 얻습니다. 호스팅 설정에 문제가있는 것처럼 보입니다. 이 도움이된다면 – user228

    +0

    @ user228을 투표 할 수 있습니다. – BlueYama

    +0

    현재 투표가 중단되었습니다. 설명해주세요. 나는 그들이 그것의 서버 설정 질문을 생각하기 때문에 그것을 믿는다. 이것은 라 라벨 질문입니다. php.ini에서'memory_limit'을 늘리더라도이 문제는 해결되지 않습니다. Laravel이 올바르게 설정되지 않은 경우 발생하는 일반적인 오류입니다. – BlueYama

    0

    코드에 어떤 종류의 버그가 있어야합니다. 예 : 순환 참조 또는 기타 오류. php artisan serve을 호출하면 130MB 이상의 RAM을 사용해서는 안됩니다.

    버그를 수정하고 다시 시도하십시오 ... php artisan serve는 최대 20MB를 사용해야합니까?

    코드를 실행하려면 php -d memory_limit=500M artisan serve을 시도하면 해당 프로세스에 대한 PHP에서 사용할 수있는 mem가 증가합니다.

    +0

    노력해 주셔서 감사합니다. 하지만 필자가 말했듯이 필자는 필자의 경우에는 작동하지 않는 php.ini 파일에서 memory_limit를 늘리려고했다. – user228

    0

    프로젝트에 대해 더 설명 할 수 있습니까?

    이 오류는 단일 PHP 스크립트가 메모리에로드하려고 시도하는 것과 직접 관련되어 있기 때문에 물어 봅니다. 즉, 모델이나 파일을로드하면 그 결과 객체는 php.ini 구성.

    오류를 보면 php.ini은 최대 스크립트 메모리 사용량이 128Mb (134217728 바이트/1024Kb/1024Mb)이고 여분의 256Kb를로드하려고 시도하는 것은 무엇이든 설정됩니다. 우리는 내가 용기가 추측하고있어 (진단 을 도울 수 있도록

    나는 전체 스택 추적을 제공하여 메모리 제한 (memory_limit = ?)

  • 을 확인하기 위해 php.ini을 확인 두 가지

    1. 을 권 해드립니다 DB에서 모델을로드하려고 할 때 데이터 크기가 매우 커서로드가 완료되면 한계를 초과합니다 ()
  • +0

    프로젝트는 깨끗한 laravel입니다. laravel 서버에서 방금 다운로드했습니다. 내가 말했듯이, 나는 php.ini에서 memory_limit를 변경하려했지만 작동하지 않습니다. 또한, 내가 게시 한 것은 전체 스택 추적을 위해 얻은 전부입니다. 그래, 다른 건 없어. – user228

    +0

    다른 대안을 생각하는 동안 또 다른 질문이 있습니다. Apache를 다시 시작한 후 메모리 제한을 256Mb로 설정하면 동일한 오류 (동일한 바이트 수)가 발생합니까? (_ 그렇다면 수정중인 php.ini 파일은 응용 프로그램에서 읽지 않은 파일 _입니다. _은 XAMPP 구성 방법의 부작용이 될 수 있습니다 _) – AlphaZygma