1

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. 在 ErrorHandler->handle('8', '未定义变量:输出', '/www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Shell/Shell.php', '59', array('command' => 'find')) 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Shell/Shell.php 第 59 行
  3. 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Adapter/AbstractFindAdapter.php 第 123 行中的 Shell->testCommand('find')
  4. 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Adapter/GnuFindAdapter.php 第 30 行中的 AbstractFindAdapter->isSupported()
  5. 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/Finder/Finder.php 第 700 行中的 GnuFindAdapter->isSupported()
  6. 在 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 行
  7. 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php 第 555 行中的 Finder->getIterator()
  8. 在 FrameworkExtension->registerTranslatorConfiguration(array('fallback' => 'pl', 'enabled' => true), object(ContainerBuilder)) 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Bundle/ FrameworkBundle/DependencyInjection/FrameworkExtension.php 第 106 行
  9. 在 FrameworkExtension->load(array(array('translator' => array('fallback' => 'pl'), 'secret' => 'eea6ad638afadb62cd7bc360e98f7d3b', 'router' => array('resource' => '/ www/acme/www/app/config/routing.yml', 'strict_requirements' => true), 'form' => true, 'csrf_protection' => true, 'validation' => array('enable_annotations' => true ), '模板' => array('engines' => 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)) 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php 第 42 行
  10. 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php 第 39 行中的 MergeExtensionConfigurationPass->process(object(ContainerBuilder))
  11. 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Compiler/Compiler.php 第 119 行中的 MergeExtensionConfigurationPass->process(object(ContainerBuilder))
  12. 在 /www/acme/www/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/ContainerBuilder.php 第 494 行中的 Compiler->compile(object(ContainerBuilder))
  13. 在 /www/acme/www/app/bootstrap.php.cache 第 950 行中的 ContainerBuilder->compile()
  14. 在 /www/acme/www/app/bootstrap.php.cache 第 859 行中的 Kernel->buildContainer()
  15. 在 /www/acme/www/app/bootstrap.php.cache 第 571 行中的 Kernel->initializeContainer()
  16. 在 /www/acme/www/app/bootstrap.php.cache 第 614 行中的 Kernel->boot()
  17. 在 /www/acme/www/web/app_dev.php 第 29 行的 Kernel->handle(object(Request))

在我的本地主机上一切正常,因此服务器配置可能有问题。

4

2 回答 2

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 中所见;

于 2012-12-14T14:32:27.230 回答
1

由于安全原因,托管服务提供商已关闭 PHP 执行功能。这就是发生上述错误的原因。有谁知道是否可以绕过 Symfony2 中的 exec 功能 - 我的意思是是否可以在关闭 exec 功能的服务器上运行 symfony2?

于 2012-12-03T14:29:51.860 回答