0

我正在使用 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 服务器连接到它时它不起作用?

4

0 回答 0