生产服务器上的Symfony2 Shell.php错误

时间:2012-12-03 12:11:33

标签: symfony

我的生产服务器app_dev.php中出现以下错误:

  

ErrorException:注意:未定义的变量:/www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Shell/Shell.php第59行输出

     
      
  1. /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Shell/Shell.php   第59行
  2.   
  3. 在ErrorHandler->手柄( '8', '未定义的变量:输出', '/www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Shell/Shell.php',   '59',数组('command'=>'find'))in   /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Shell/Shell.php   第59行
  4.   
  5. at Shell-> testCommand('find')/www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Adapter/AbstractFindAdapter.php   第123行
  6.   
  7. at AbstractFindAdapter-> isSupported()/www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Adapter/GnuFindAdapter.php   第30行
  8.   
  9. at GnuFindAdapter-> isSupported()/www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Finder.php   700行
  10.   
  11. 在Finder-> searchInDirectory('/ www / acme / www / vendor / symfony / symfony / src / Symfony / Component / Validator / Resources / translations')   在   /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Finder.php   628行
  12.   
  13. 在Finder-> getIterator()/www/acme/www/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php   第555行
  14.   
  15. 在FrameworkExtension-> registerTranslatorConfiguration(array('fallback')   => 'pl','enabled'=> true),对象(ContainerBuilder))/www/acme/www/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php   第106行
  16.   
  17. at FrameworkExtension-> load(array(array('translator'=> array('fallback'=>'pl'),'secret'=>   'eea6ad638afadb62cd7bc360e98f7d3b','router'=> array('resource'=>   '/www/acme/www/app/config/routing.yml','strict_requirements'=>   true),'form'=>是的,'csrf_protection'=>是的,'验证'=>   array('enable_annotations'=> true),'templating'=>阵列(“引擎”   => array('twig')),'trust_proxy_headers'=> false,'default_locale'=> 'pl','session'=> null),array('router'=> array('resource'=>   '/www/acme/www/app/config/routing_dev.yml'),'profiler'=>   array('only_exceptions'=> false))),object(ContainerBuilder))in   /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php   第42行
  18.   
  19. 在MergeExtensionConfigurationPass->进程(对象(ContainerBuilder))中   /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php   第39行
  20.   
  21. 在MergeExtensionConfigurationPass->进程(对象(ContainerBuilder))中   /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php   第119行
  22.   
  23. at Compiler-> compile(object(ContainerBuilder))/www/acme/www/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php   494号线
  24.   
  25. 在ContainerBuilder->编译()在/www/acme/www/app/bootstrap.php.cache第950行
  26.   
  27. at Kernel-> buildContainer()/www/acme/www/app/bootstrap.php.cache第859行
  28.   
  29. at Kernel-> initializeContainer()/www/acme/www/app/bootstrap.php.cache第571行
  30.   
  31. at Kernel-> boot()/www/acme/www/app/bootstrap.php.cache line 614
  32.   
  33. at Kernel-> handle(object(Request))/www/acme/www/web/app_dev.php第29行
  34.   

我的本​​地主机上的一切正常,所以服务器配置可能出错了。

2 个答案:

答案 0 :(得分:1)

由于安全原因,托管服务提供商已关闭PHP exec功能。 这就是出现上述错误的原因。 有没有人知道它是否可以在Symfony2中绕过exec函数 - 我的意思是如果可以在关闭了exec函数的服务器上运行symfony2?

答案 1 :(得分:1)

我的托管问题也有同样的问题,关闭了php safe_mode。实际上有一个待办事项,但我不知道他们何时会解决它。

// todo: find a better way (command could not be available)
exec('command -v '.$command, $output, $code);

如Symfony \ Component \ Finder \ Shell \ Shell;

中所示