如何解决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,\'port\' => 3307,\'prefix\' => \'\',);
这些更改之后,警告仍然出现...我真的觉得我现在想吐
任何帮助将不胜感激。
解决方法
您不必编辑dbo_config即可管理端口设置。所有这些键都可以在app / config /文件夹中的database.php文件中使用。
实际上,您根本不应该在dbo文件中拥有个人默认设置-您所做的任何操作都不应该编辑任何核心文件。
将端口设置仅设置为database.php文件,并且dbo驱动程序恢复为cake随附的驱动程序后,应删除/ tmp / cache中的所有文件,并在app / config / core中设置debug> 0 .php文件
刷新,如果错误仍然存在,我们知道在php.ini / .htaccess或ini_set级别有问题。尝试调整值,然后加载包含以下内容的视图
<?php
phpinfo( );
?>
并查看php解释程序是否实际读取了最大执行时间设置。如果不是,则可能要尝试使用该值播放的ini set方法或htaccess方法。还要确保您正在编辑的php.ini是正确的(ini的路径应该在php info dump中)-您可能会发现已加载了2个版本的php和2个版本的mysql。
如果仍不能解决问题或至少无法查明问题,请发回此处并告知我们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。