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