CakePHP中的MySQL连接->为什么我不断收到超过30秒的致命错误?
|
这是我从一些教程博客中获得的代码的片段:
<?php
class PersonalBlogController extends AppController {
var $name = \'PersonalBlog\';
var $uses = array(\'PersonalBlog\');
function index(){
//ini_set(\'max_execution_time\', 300);
debug($this->PersonalBlog->findAll());
//debug($this->PersonalBlog->find(\'all\'));
}
}?>
我从其他帖子中看到了一些其他情况下的最大时限致命错误。但是我的可能是最令人恶心的。即使在php.ini中更改max_execution_time变量后,致命的30秒时间限制错误仍然会出现。即使将其更改为60或300秒,错误消息仍然保持不变。它说超过了30秒的时间限制。
然后,我遵循了类似问题的替代解决方案,即改为:1ѭ(请参见上面的评论代码)。
错误消失了。但是,这之后发生的是:
警告(2):PDO :: __ construct():[2002]连接尝试失败,因为被连接方未(尝试通过tcp:// localhost:3306连接)[CORE \\ cake \\ libs \\ model \ \ datasources \\ dbo \\ dbo_mysql.php,第155行]
.....
..... blablabla ...
致命错误:在C:\\ Server \\ www \\ myserver.dev \\ public_html \\ cakephp-cakephp-7fbf7a4 \\ cake \\ libs \\ model \中的非对象上调用成员函数getAttribute()第259行的\ datasources \\ dbo \\ dbo_mysql.php
所以我意识到我实际上已经安装了两个MySQL服务器。最新的(5.5.11)在端口3307上,而不在端口3306上!这就是为什么我随后在dbo_mysql.php中更改驱动程序设置的原因:
/**
* Base configuration settings for MySQL driver
*
* @var array
*/
protected $_baseConfig = array(
\'persistent\' => true,
\'host\' => \'localhost\',
\'login\' => \'root\',
\'password\' => \'mysqlpassword\',
\'database\' => \'personal_blog\',
\'port\' => \'3307\'
);
其他所有设置都是正常的;我对app> config> database文件具有相同的数据库设置,如下所示:
public $default = array(
\'driver\' => \'mysql\',
\'persistent\' => false,
\'host\' => \'localhost\',
\'login\' => \'root\',
\'password\' => \'mysqlpassword\',
\'database\' => \'personal_blog\',
\'port\' => 3307,
\'prefix\' => \'\',
);
这些更改之后,警告仍然出现...我真的觉得我现在想吐
任何帮助将不胜感激。
没有找到相关结果
已邀请:
1 个回复
田眯衅
并查看php解释程序是否实际读取了最大执行时间设置。如果不是,则可能要尝试使用该值播放的ini set方法或htaccess方法。还要确保您正在编辑的php.ini是正确的(ini的路径应该在php info dump中)-您可能会发现已加载了2个版本的php和2个版本的mysql。 如果仍不能解决问题或至少无法查明问题,请发回此处并告知我们。