PHP 可捕获的致命错误 - 在服务器上



当前正面临新的Silex(Symfony)PHP应用程序的问题。如果我像php -S localhost:8080一样在本地启动它,一切马上就可以正常工作。上传到服务器后,我直接收到带有以下日志输出的 500 内部服务器错误:

[Tue Jan 19 16:15:24 2016] [error] [client 62.99.210.9] PHP Catchable fatal error:
Argument 2 passed to Symfony\Component\HttpKernel\Event\FilterControllerEvent::
__construct() must be an instance of Symfony\Component\HttpKernel\Event\callable,
instance of Closure given, called in /appl/www/htdocs/XXX/static/dashboard/php/
vendor/symfony/http-kernel/HttpKernel.php on line 131 and defined in /appl/www/htdocs/XXX/static/dashboard/php/
vendor/symfony/http-kernel/Event/FilterControllerEvent.php on line 35

作曲家.json:

{
    "require": {
        "silex/silex": "~1.2",
        "twig/twig"  : "1.*",
        "symfony/twig-bridge": "2.1.*"
    },
    "minimum-stability": "dev",
    "config": {
        "vendor-dir": "php/vendor"
    }
}

关于导致此类错误的任何想法都值得赞赏。

PHP

版本: PHP 5.3.3 (cli) (构建时间: Oct 23 2014 06:58:46)

可调用类型提示从 PHP 5.4 开始可用

从 PHP 5.4 开始,回调可以用可调用的类型提示来表示。这 文档将回调类型信息用于相同的目的。

http://php.net/manual/en/language.types.callable.php

这里发生的事情是PHP试图将类型提示"可调用"解析为类名,并且由于没有提供命名空间,它寻找一个类"Symfony\Component\HttpKernel\Event\callable"

,这显然不存在。

我使用 php 5.3.9 并且有同样的问题Silex在1.3.3+版本中安装了使用PHP 5.4+功能的HttpKernel。

我的解决方案是使用 Silex 1.3.2。所有依赖项都使用 PHP 5.3.x我不使用需要 PHP 5.3,因为作曲家需要 5.4 才能工作。

简单的方法是更新php版本,但我无法更新服务器。你知道的

相关内容

  • 没有找到相关文章

最新更新