gpt4 book ai didi

php - PhalconPHP 数据库事务在服务器上失败

转载 作者:IT老高 更新时间:2023-10-29 00:17:24 25 4
gpt4 key购买 nike

我使用 PhalconPHP 开发了一个网站。该网站在我的本地计算机上运行良好,具有以下规范:

PHP Version 7.0.22
Apache/2.4.18
PhalconPHP 3.3.1

还有我以前的服务器(使用 DirectAdmin):

PHP Version 5.6.26
Apache 2
PhalconPHP 3.0.1

但最近我已经迁移到新的 VPS。使用控制面板:

CENTOS 7.4 vmware [server]
cPanel v68.0.30
PHP Version 5.6.34 (multiple versions available, this one selected by myself)
PhalconPHP 3.2.2

在新的 VPS 上,我的网站总是给我 Error 500

在我的 Apache 错误日志文件中:[cgi:error] header 之前的脚本输出结束:ea-php70,referer:http://mywebsitedomain.net

我怀疑是新的数据库系统。新的不是mySql。它是 MariaDB 10.1。我尝试降级到 MySQL 5.6,但 WHM 说我无法降级到更低版本。

这是我的配置文件:

[database]
adapter = Mysql
host = localhost
username = root
password = XXXXXXXXXXXX
dbname = XXXXXXXXXXXX
charset = utf8

和我的Services.php:

protected function initDb()
{
$config = $this->get('config')->get('database')->toArray();

$dbClass = 'Phalcon\Db\Adapter\Pdo\\' . $config['adapter'];
unset($config['adapter']);

return new $dbClass($config);
}

在我的 Controller 中...例如这段代码抛出 Error 500:

$this->view->files = Patients::query()->orderBy("id ASC")->execute();

但是将 id 更改为 fname 可以解决问题:

$this->view->files = Patients::query()->orderBy("fname ASC")->execute();

甚至下面的代码也会抛出 error 500:

$user = Users::findFirst(array(
"conditions" => "id = :id:",
"bind" => array("id" => $this->session->get("userID"))
));

PhalconPHP和MariaDB的兼容性有问题吗?

最佳答案

MariaDB 的构建大部分与 MySQL 客户端兼容,这不太可能是您出现问题的原因。如果您仍然担心,可以通过转储(导出)表、切换并再次导入它们,从 MariaDB 切换到 MySQL(反之亦然)。

更有可能的是,您显示的错误行表明您的新服务器实际上运行的是 PHP7 (ea-php70),而不是您认为选择的 PHP5.6。

错误 End of script output before headers 表示 CGI 脚本(在本例中为 PHP7 本身)在终止之前没有产生任何 HTTP header 。我怀疑您的 PhalconPHP 版本与 PHP7 不兼容,因此会立即崩溃。

如果 cPanel 无法让您正确配置基础架构,您可能别无选择,只能放弃它并手动设置堆栈。但由于您可能为 cPanel 付费,您可以尝试先向他们开具支持票:https://cpanel.com/support/

关于php - PhalconPHP 数据库事务在服务器上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49319731/

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