Zend framework Zend_validate isValid()卡在第608行的/library/Zend/validate/Hostname.php中的最大执行时间超过30秒
我正遭受Zend_validate的困扰,当我写表单并尝试添加验证器时,唯一对我有效的方法是如果我提交的表单没有值,它将显示错误消息,但是,如果我提交了好的值,它将停留一段时间,然后在第608行的/Applications/MAMP/htdocs/MyApplicationFolderName/library/Zend/Validate/Hostname.php中给出致命错误消息,表示超过了最长执行时间30秒 请帮助我的控制器操作代码是Zend framework Zend_validate isValid()卡在第608行的/library/Zend/validate/Hostname.php中的最大执行时间超过30秒,zend-framework,zend-form,Zend Framework,Zend Form,我正遭受Zend_validate的困扰,当我写表单并尝试添加验证器时,唯一对我有效的方法是如果我提交的表单没有值,它将显示错误消息,但是,如果我提交了好的值,它将停留一段时间,然后在第608行的/Applications/MAMP/htdocs/MyApplicationFolderName/library/Zend/Validate/Hostname.php中给出致命错误消息,表示超过了最长执行时间30秒 请帮助我的控制器操作代码是 public function createAction(
public function createAction()
{
// action body
$roleService=new User_Service_RoleService($this->em);
$userForm=new User_Form_UserForm($roleService->listAllRoleNames());
$userForm->startForm();
$userForm->setAction('create');
$userForm->setMethod('post');
if($this->getRequest()->isPost() )
{
if($userForm->isValid($this->getRequest()->getPost()))
{
$this->userAccountService->createUser($this->getRequest()->getParams());
$this->_forward('confirm');
}
}
$this->view->form=$userForm;
}
我的表单类代码是
class User_Form_UserForm extends Zend_Form {
//put your code here
private $roles;
public function __construct($options = null) {
parent::__construct($options);
$this->roles=$options;
}
public function startForm()
{
$idForm=new Zend_Form_Element_Hidden('id');
$this->addElement($idForm);
///////////
$userEmailForm=new Zend_Form_Element_Text('email');
$userEmailForm->setRequired(TRUE);
$userEmailForm->setLabel('Email');
$emailValidator=new Zend_Validate_EmailAddress();
// $emailValidator->setOptions(array('domain' => FALSE));
$userEmailForm->addValidator($emailValidator,false);
$userEmailForm->setAttrib('size', 25);
$userEmailForm->setFilters(array(new Zend_Filter_StringToLower(),
new Zend_Filter_StringTrim())
);
$this->addElement($userEmailForm);
}
}
这是我表单的一小部分,它非常简单,但由于Doctrine2和名称空间的原因,Iam使用MAMP PHP5.3.5无法正常工作
请原谅,我们将非常感谢您的帮助
注意:我还尝试了其他验证器,如字符串长度,并显示了相同的错误。我通过不使用mamp解决了问题,并开始使用Zendserver CE free Edition ,并通过执行此链接中描述的步骤 我可以将zend server的根文档编辑为用户/站点/ 我运行Zendframework验证,它运行得很好,我喜欢mamp,但我在Zend上开发,Zend使用iconv_strlen
解决这个问题的另一种方法是安装PHP,但我发现这不是一个简单的解决方案,或者你可以使用macports,我不想这样做,因为我使用zendframework,我需要一些与之相关的东西,所以我使用zendServer,这是迄今为止最干净的解决方案。我通过不使用mamp解决了这个问题,并开始使用Zendserver CE免费版 ,并通过执行此链接中描述的步骤 我可以将zend server的根文档编辑为用户/站点/ 我运行Zendframework验证,它运行得很好,我喜欢mamp,但我在Zend上开发,Zend使用iconv_strlen 解决这个问题的另一种方法是安装PHP,但我发现这不是一个简单的解决方案,或者你可以使用macports,我不想这样做,因为我使用zendframework,我需要一些与之相关的东西,所以我使用zendServer,这是迄今为止最干净的解决方案 实际上我刚刚找到了这个问题的答案: MAMP附带的PHP5.3版本中有一个bug iconv_strlen,导致do{…}同时为false;循环 验证程序无限运行。我刚刚将PHP版本切换到5.2,如下所示 无论如何,它更接近于生产,而且很有效。如果您需要5.3, 不过,您必须在MAMP中升级PHP安装。我 尚未尝试,但强烈建议使用以下链接: 希望一切都有帮助 资料来源: 实际上我刚刚找到了这个问题的答案: MAMP附带的PHP5.3版本中有一个bug iconv_strlen,导致do{…}同时为false;循环 验证程序无限运行。我刚刚将PHP版本切换到5.2,如下所示 无论如何,它更接近于生产,而且很有效。如果您需要5.3, 不过,您必须在MAMP中升级PHP安装。我 尚未尝试,但强烈建议使用以下链接: 希望一切都有帮助
来源:Possiblee replicate of-那里的一些解决方案可能会对您有所帮助。您是对的,他们似乎也有同样的问题,但我没有看到任何答案,他们说这是一个MAMP错误,因此我必须安装另一个PHP版本或使用PHP 5.2,因为名称空间和doctrine2,我无法安装,ZendCast视频是使用MAMP在Mac上运行的,教程中没有提到这方面的任何内容,我也有Zend的书籍,那里也没有,所以如果有人能解决这个问题,我真的会非常感谢Tanks Tim,它证实了同样的问题,iconv_strlen没有在Mac OSX上工作,感谢您指出原因,我将尝试解决它,但如果有一条捷径,请告诉我可能的重复-那里的一些解决方案可能对您有所帮助。您是对的,他们似乎也有同样的问题,但我看不到任何答案,他们说这是一个MAMP错误,因此,我必须安装另一个版本的PHP或使用PHP 5.2,我不能安装,因为名称空间和doctrine2,ZendCast视频使用MAMP在Mac上运行,教程中没有提到任何与此相关的内容,我也有Zend nothing的书籍,因此,如果有人能解决这个问题,我真的非常感谢Tanks Tim,它被证实是同一个问题,iconv_strlen没有在Mac OSX上工作,谢谢你指出原因,我将尝试解决它,但如果有一条捷径,请告诉我