我正在使用 CakePhp 2.8.5,并且在 database.php 中有以下配置
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Sqlite',
'persistent' => false,
'database' => 'MyDB.sqlite3',
//'encoding' => 'utf8',
);
public $test = array(
'datasource' => 'Database/Sqlite',
'persistent' => false,
'database' => 'MyDB-test.sqlite3',
//'encoding' => 'utf8',
);
}
我的 sqlite 数据库文件位于我的 cakephp Web 应用程序的根文件夹中。这两个 sqlite 文件对每个人都有读/写/执行权限。我的 Php.ini 文件配置为 sqlite 启用了 PDO 扩展。我可以使用我的 CakePHP 内部 Web 服务器在 MAC OS X 10.11.5 终端上使用以下命令连接到 sqlite3 数据库:./lib/Cake/Console/cake server -p 8080
但是,当我尝试使用下面在 vhost.conf 中配置的 Web 应用程序在 MAC OS X 上的 XAMPP 服务器上运行它时,它无法连接到 sqlite3 db。
<VirtualHost *:80>
ServerName cakeapp
DocumentRoot "/Users/userXXX/website/cakeapp"
<Directory "/Users/userXXX/website/cakeapp">
Options Indexes FollowSymLinks Includes execCGI
AllowOverride all
Require all granted
</Directory>
ErrorLog "/Users/userXXX/website/cakeapp/error.log"
</VirtualHost>
但是,当我在本地 apache http 服务器 (cakeapp/) 上连接到 cakephp Web 应用程序时收到以下错误消息:
CakePHP is NOT able to connect to the database.
Database connection "Sqlite" is missing, or could not be created.
那么为什么当我使用内部 http 服务器( localhost:8080 )连接到 cakeapp 时它可以工作,而当我尝试从 XAMPP 中的 localhost 默认 apache Web 服务器连接到它时它不起作用?