@koninka

Проблемы при запуске symfony проекта на OSx?

Всем привет!

Я новичок в OSx и у меня проблемы с php 7.1 и интерфейсами SPL (как мне кажется с ними). Каждые 2 или 3 запроса к симфони проекту (использую апач) случаются ошибки, описанные ниже.

Ошибка когда spl_autoloader пытается загрузить класс ParameterBag:
Warning: class_implements(): Class /\.[^.]+\.twig$/ does not exist and could not be loaded


Stack trace:
1 in DebugClassLoader.php line 243
    2 at ErrorHandler->handleError('2', 'class_implements(): Class /\.[^.]+\.twig$/ does not exist and could not be loaded', '/Users/mtertishniy/sites/dvsota/vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php', '243', array('class' => 'Symfony\Component\HttpFoundation\ParameterBag', 'file' => '/Users/mtertishniy/sites/dvsota/vendor/composer/../symfony/symfony/src/Symfony/Component/HttpFoundation/ParameterBag.php', 'exists' => true, 'refl' => object(ReflectionClass), 'name' => 'Symfony\Component\HttpFoundation\ParameterBag', 'notice' => array(), 'len' => '8', 'ns' => 'Symfony\', 'parent' => false, 'parentInterfaces' => array('/\.[^.]+\.twig$/' => '1'), 'deprecatedInterfaces' => array(), 'interface' => '/\.[^.]+\.twig$/'))
    3 at class_implements('/\.[^.]+\.twig$/') in DebugClassLoader.php line 243
    4 at DebugClassLoader->loadClass('Symfony\Component\HttpFoundation\ParameterBag')
    5 at spl_autoload_call('Symfony\Component\HttpFoundation\ParameterBag') in Request.php line 247


Друая странная ошибка:
OutOfMemoryException in DebugClassLoader.php line 243:
Error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 140495632205216 bytes)


Я пытался отдебажить эту ошибку посредством var_dump переменных, которые DebugClassLoader пытается загрузить и падает, и обнаружил, что иногда аргументом в метод load падает некорректная строка интерфейса.
MhvAq.jpg

Пытался декодировать кракозябары и получилсь Countable.

Apache (httpd) и PHP 7.1 установлены через brew.

PHP модули:
$ php -m
    [PHP Modules]
    bcmath
    bz2
    calendar
    Core
    ctype
    curl
    date
    dba
    dom
    exif
    fileinfo
    filter
    ftp
    gd
    gettext
    hash
    iconv
    imagick
    intl
    json
    ldap
    libxml
    mbstring
    mcrypt
    mysqli
    mysqlnd
    odbc
    openssl
    pcntl
    pcre
    PDO
    pdo_mysql
    PDO_ODBC
    pdo_sqlite
    Phar
    posix
    readline
    Reflection
    session
    shmop
    SimpleXML
    soap
    sockets
    SPL
    sqlite3
    standard
    sysvmsg
    sysvsem
    sysvshm
    tokenizer
    wddx
    xdebug
    xml
    xmldiff
    xmlreader
    xmlrpc
    xmlwriter
    xsl
    yaml
    zip
    zlib
    
    [Zend Modules]
    Xdebug


Как решить эту проблему?
  • Вопрос задан
  • 463 просмотра
Решения вопроса 1
@koninka Автор вопроса
Наконец-то я разобрался! Проблема в самом  php. Вот баг с официального баг трекера php https://bugs.php.net/bug.php?id=74015

Если вкратце то такое поведение присутствует во всех версиях php младше 7.1 (включительно) и будет исправлено только в версии 7.2

P.S. Огромное спасибо всем кто говорил, что проблема в memory_limit, я бы без вас не справился
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@stascer
web-программист
Php не хватило памяти. Нужно расширить memory_limit.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы