【问题标题】:How to enable SQLite Support on CloudFoundry (PHP Buildpack)如何在 CloudFoundry (PHP Buildpack) 上启用 SQLite 支持
【发布时间】:2015-07-29 07:36:57
【问题描述】:
我正在使用 CloudFoundry 在 IBM Bluemix 上构建一个应用程序。我设法部署了php-buildpack。我怎样才能启用 SQLite 支持? ...我什至不确定 sqlite 是否包含在 buildpack 中,因为只有“pdo_sqlite”作为扩展名列出。
如果我无法从这个 buildpack 中获得 sqlite 支持,是否有其他方法可以获得 sqlite 支持?
【问题讨论】:
标签:
php
sqlite
cloud-foundry
ibm-cloud
buildpack
【解决方案1】:
虽然 Jeff Sloyer 的回答中的说明是正确的,但您可能需要重新考虑使用 sqlite。 SQLite 是一个进程内数据库,其内容备份在文件系统上。在 Bluemix/Cloud Foundry 中,您运行应用程序的文件系统是短暂的,这意味着每次重新启动应用程序时,您都会丢失保存到文件系统中的所有内容,因此您将丢失数据库的内容。
【解决方案2】:
您必须在.bp-config/options.json 文件中启用库。像下面的例子
{
"PHP_EXTENSIONS": ["pdo_sqlite"]
}
PDO 只是 PHP 中数据库访问的包装器,有关更多信息,请查看 StackOverflow 上的 what is the difference between sqlite3 and pdo_sqlite。
如果您在应用程序上运行phpinfo(),您将看到 SQLite3 已安装。
如果您运行以下命令。
if (class_exists('SQLite3')) {
echo "sqlite3 is here";
}
它会返回并说安装了 sqlite3。