【发布时间】:2018-08-25 11:03:56
【问题描述】:
我使用 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。使用 cPanel:
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] End of script output before headers: 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);
}
在我的控制器中...
例如这段代码抛出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 的兼容性有问题吗?
【问题讨论】:
-
你不记录错误信息吗? “错误 500”没有帮助。
-
“寻找来自可靠和/或官方来源的答案。”对外部资源的请求不是被明确认为是题外话吗?缺少minimal reproducible example 不被认为是题外话吗?无论如何,请在您的机器上切换数据库以验证这是否是您的代码不起作用的原因。
-
你检查过你的 .htaccess 文件了吗?
标签: php mysql mariadb cpanel phalcon