CakePHP 中的数据库?
DBase in CakePHP?
如何在 CakePHP (v3.1) 中使用 DBase?我已经用 PECL (v5.1.1) 安装了它,它在普通 php 上运行良好,但是当我在 CakePHP 中 运行 dbase_create() 时,它给我一个错误:
调用未定义的函数App\Controller\dbase_open()
我在 /etc/php5/apache2/php.ini 和 /etc/php5/cli/php.ini
中包含了扩展
以下是解决问题的调试步骤:
错误信息说函数App\Controller\dbase_create()
不存在。我们期望的是函数 dbase_create()
,因此错误消息表明 PHP 正在查找错误的命名空间。将函数调用更改为 \dbase_create()
导致 PHP 在全局命名空间中查找。
PHP还是报错,这次说函数dbase_create()
不存在。这至少表明 PHP 现在正在寻找正确的位置,但该函数也不存在于全局命名空间中。
php.ini
文件已修改,但 Apache 在启动时加载其模块的所有配置文件。为确保加载更改,需要在更改 php.ini
文件时重新启动 Apache。重新启动 Apache 以加载新版本的文件。
重启Apache后,该功能仍然不存在。让我们确保模块已正确加载。调用 phpinfo()
函数并检查其输出是否与 DBase 相关。这给出了一个有趣的结果:一个单独的 PHP 文件只有 phpinfo()
表明加载了 DBase 5.1.1,但是从 CakePHP 应用程序调用 phpinfo()
没有输出任何内容与 DBase 相关。
CakePHP 是 运行 作为自己的服务器。与 Apache 一样,php.ini
文件在该服务器启动时加载,因此请确保在文件更改时重新启动该服务器。这解决了问题,在重新启动 CakePHP 服务器后,dbase_create()
功能可用。
如何在 CakePHP (v3.1) 中使用 DBase?我已经用 PECL (v5.1.1) 安装了它,它在普通 php 上运行良好,但是当我在 CakePHP 中 运行 dbase_create() 时,它给我一个错误:
调用未定义的函数App\Controller\dbase_open()
我在 /etc/php5/apache2/php.ini 和 /etc/php5/cli/php.ini
中包含了扩展以下是解决问题的调试步骤:
错误信息说函数
App\Controller\dbase_create()
不存在。我们期望的是函数dbase_create()
,因此错误消息表明 PHP 正在查找错误的命名空间。将函数调用更改为\dbase_create()
导致 PHP 在全局命名空间中查找。PHP还是报错,这次说函数
dbase_create()
不存在。这至少表明 PHP 现在正在寻找正确的位置,但该函数也不存在于全局命名空间中。php.ini
文件已修改,但 Apache 在启动时加载其模块的所有配置文件。为确保加载更改,需要在更改php.ini
文件时重新启动 Apache。重新启动 Apache 以加载新版本的文件。重启Apache后,该功能仍然不存在。让我们确保模块已正确加载。调用
phpinfo()
函数并检查其输出是否与 DBase 相关。这给出了一个有趣的结果:一个单独的 PHP 文件只有phpinfo()
表明加载了 DBase 5.1.1,但是从 CakePHP 应用程序调用phpinfo()
没有输出任何内容与 DBase 相关。CakePHP 是 运行 作为自己的服务器。与 Apache 一样,
php.ini
文件在该服务器启动时加载,因此请确保在文件更改时重新启动该服务器。这解决了问题,在重新启动 CakePHP 服务器后,dbase_create()
功能可用。