php 应用程序/控制台停止工作
php app / console stops working
在对我的单位进行了轻微修改后,我希望使用简单的 php app/console doctrine: update --force
进行更新。但是没有执行任何操作,也没有任何响应。然后我做了一个 php app/check.php
,这意味着我没有问题 (Your system is ready to run Symfony2 projects
)。我不明白,它没有提供错误。这是我所做的:
Command: ********: ***** ProjetSymphony $ php app / console***
Answer (none): ******* **** $ ProjetSymphony***
如果有人有想法。
屏幕:
试试:
php app/console doctrine:schema:update --force
可能只是语法错误。
我终于找到了我的错误。我有一个命令文件阻止了我的命令的执行 (CreateUserCommand.php)
如果有人想向我解释为什么这个 cosait 在执行我的订单时会报错......
这是文件:
<?php
namespace FP\UserBundle\Command;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use FOS\UserBundle\Model\User;
use FOS\UserBundle\Command\CreateUserCommand as BaseCommand;
class CreateUserCommand extends BaseCommand
{
/**
* @see Command
*/
protected function configure()
{
exit;
echo "tes";
parent::configure();
$this
->setName('fp:user:create')
->getDefinition()->addArguments(array(
new InputArgument('age', InputArgument::REQUIRED, 'The age')
))
;
}
/**
* @see Command
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
exit;
echo "tes";
$username = $input->getArgument('username');
$email = $input->getArgument('email');
$password = $input->getArgument('password');
$age = $input->getArgument('age');
$inactive = $input->getOption('inactive');
$superadmin = $input->getOption('super-admin');
$manipulator = $this->getContainer()->get('fos_user.util.user_manipulator');
$manipulator->setAge($age);
$manipulator->create($username, $password, $email, !$inactive, $superadmin);
$output->writeln(sprintf('Created user <comment>%s</comment>', $username));
}
/**
* @see Command
*/
protected function interact(InputInterface $input, OutputInterface $output)
{
exit;
echo "tes";
parent::interact($input, $output);
if (!$input->getArgument('age')) {
$age = $this->getHelper('dialog')->askAndValidate(
$output,
'Please choose a age:',
function($age) {
if (empty($age)) {
throw new \Exception('Lastname can not be empty');
}
return $age;
}
);
$input->setArgument('age', $age);
}
}
}
此外,如果有人试图在较新的 symfony 版本(例如 symfony 3.0)中 运行 php app/console
,您将收到错误消息:找不到文件,因为文件已移至 'bin' 文件夹。现在要从控制台 运行,您必须改用 php bin/console
。以防万一这个变化让任何开始学习 symfony 并更新到 3.0 的人感到困惑。
在对我的单位进行了轻微修改后,我希望使用简单的 php app/console doctrine: update --force
进行更新。但是没有执行任何操作,也没有任何响应。然后我做了一个 php app/check.php
,这意味着我没有问题 (Your system is ready to run Symfony2 projects
)。我不明白,它没有提供错误。这是我所做的:
Command: ********: ***** ProjetSymphony $ php app / console***
Answer (none): ******* **** $ ProjetSymphony***
如果有人有想法。
屏幕:
试试:
php app/console doctrine:schema:update --force
可能只是语法错误。
我终于找到了我的错误。我有一个命令文件阻止了我的命令的执行 (CreateUserCommand.php) 如果有人想向我解释为什么这个 cosait 在执行我的订单时会报错...... 这是文件:
<?php
namespace FP\UserBundle\Command;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use FOS\UserBundle\Model\User;
use FOS\UserBundle\Command\CreateUserCommand as BaseCommand;
class CreateUserCommand extends BaseCommand
{
/**
* @see Command
*/
protected function configure()
{
exit;
echo "tes";
parent::configure();
$this
->setName('fp:user:create')
->getDefinition()->addArguments(array(
new InputArgument('age', InputArgument::REQUIRED, 'The age')
))
;
}
/**
* @see Command
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
exit;
echo "tes";
$username = $input->getArgument('username');
$email = $input->getArgument('email');
$password = $input->getArgument('password');
$age = $input->getArgument('age');
$inactive = $input->getOption('inactive');
$superadmin = $input->getOption('super-admin');
$manipulator = $this->getContainer()->get('fos_user.util.user_manipulator');
$manipulator->setAge($age);
$manipulator->create($username, $password, $email, !$inactive, $superadmin);
$output->writeln(sprintf('Created user <comment>%s</comment>', $username));
}
/**
* @see Command
*/
protected function interact(InputInterface $input, OutputInterface $output)
{
exit;
echo "tes";
parent::interact($input, $output);
if (!$input->getArgument('age')) {
$age = $this->getHelper('dialog')->askAndValidate(
$output,
'Please choose a age:',
function($age) {
if (empty($age)) {
throw new \Exception('Lastname can not be empty');
}
return $age;
}
);
$input->setArgument('age', $age);
}
}
}
此外,如果有人试图在较新的 symfony 版本(例如 symfony 3.0)中 运行 php app/console
,您将收到错误消息:找不到文件,因为文件已移至 'bin' 文件夹。现在要从控制台 运行,您必须改用 php bin/console
。以防万一这个变化让任何开始学习 symfony 并更新到 3.0 的人感到困惑。