gpt4 book ai didi

php - CakePHP 中的 MySQL 连接 -> 为什么我不断收到超过 30 秒的 fatal error ?

转载 作者:行者123 更新时间:2023-11-29 14:49:25 25 4
gpt4 key购买 nike

这是我从一些教程博客获得的代码片段:

<?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'));
}
}?>

我从其他帖子中看到了最大时间限制 fatal error 的其他情况。但我的可能是最恶心的。即使我更改了 php.ini 中的 max_execution_time 变量,致命的 30 秒时间限制错误仍然出现。即使将其更改为 60 或 300 秒,错误消息仍然保持不变。它说超出了 30 秒的时间限制。

然后,我遵循类似问题的替代解决方案,即执行此操作:ini_set('max_execution_time', 300);(请参阅上面我评论的代码)。

错误消失了。然而之后发生的事情是这样的:

警告 (2): PDO::__construct(): [2002] 连接尝试失败,因为连接方没有(尝试通过 tcp://localhost:3306 连接)[CORE\cake\libs\model\数据源\dbo\dbo_mysql.php,第 155 行]…………巴拉巴拉…… fatal error :在 C:\Server\www\myserver.dev\public_html\cakephp-cakephp-7fbf7a4\cake\libs\model\datasources\dbo\dbo_mysql.php 中的非对象上调用成员函数 getAttribute()第259行

所以我意识到我实际上安装了两个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'
);

其他设置均正常;我的应用程序>配置>数据库文件的数据库设置与您在此处看到的相同:

public $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => 'mysqlpassword',
'database' => 'personal_blog',
'port' => 3307,
'prefix' => '',
);

进行这些更改后,警告仍然出现...我真的感觉我现在就想吐

如有任何帮助,我们将不胜感激。谢谢

最佳答案

您不必编辑 dbo_config 来管理端口设置。所有这些 key 都可以在 app/config/文件夹中的 database.php 文件中使用。

实际上,您根本不应该在 dbo 文件中使用您的个人默认值——您所做的任何事情都不应该编辑任何核心文件。

一旦您仅在database.php文件中进行了端口设置,并且您的dbo驱动程序返回到蛋糕附带的驱动程序,您应该删除/tmp/cache中的所有文件并在app/中设置您的调试> 0配置/core.php

刷新一下,如果错误仍然发生,我们就知道 php.ini/.htaccess 或 ini_set 级别出现了问题。尝试调整该值,然后加载包含的 View

<?php
phpinfo( );
?>

并查看 php 解释器是否实际读取最大执行时间设置。如果不是,您可能想尝试使用该值的 ini set 方法或 htaccess 方法。还要确保您正在编辑的 php.ini 是正确的(ini 的路径应该位于 php 信息转储中) - 您可能会发现加载了 2 个版本的 php 以及两个版本的 mysql。

如果这不能解决或至少查明问题,请在此处发帖告知我们。

关于php - CakePHP 中的 MySQL 连接 -> 为什么我不断收到超过 30 秒的 fatal error ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com