【发布时间】:2015-02-23 20:59:45
【问题描述】:
我正在将 Laravel 项目部署到共享主机并添加了一个 php.ini:
extension=pdo.so
extension=pdo_sqlite.so
extension=sqlite.so
在 phpinfo 中,我还可以看到 sqlite 扩展已加载。使用以下代码 sn-ps 连接到数据库的测试也有效:
<?php
try {
$dbh = new PDO("sqlite:app/database/production.sqlite");
echo "Connected to database!";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
但是,当尝试使用 Laravel 连接到数据库时,应用程序会抛出 PDOException 错误。
感谢您对此的任何帮助。提前致谢!
【问题讨论】:
-
您是否完成了How to determine if PDO is enabled in PHP? 中的步骤 - 特别是在此分析器中:stackoverflow.com/a/6113496/367456。如果没有,请做他们。然后或如果是,请在您的问题中提供结果。这对于了解是什么让您的问题与现有的关于 sqlite 的问题不同并且具有相同的错误消息非常重要。
-
使用 extension_loaded('pdo') 和 extension_loaded('pdo_sqlite') 返回 true。还有其他地方可以查吗?好像只有 laravel 应用在抱怨找不到驱动。
-
这些结果对我来说看起来很有希望,驱动程序已加载。我要检查的下一点是是否可以找到 sqlite-database-file。请提供
app/database/production.sqlite的绝对路径,从根目录开始,以/开头。 -
数据库路径位于/public_html/mockup/app/database/production.sqlite,database.php中路径为DIR.'/../ database/production.sqlite' 我在本地机器上查看网站时没有问题。
-
是的,不是文件名,只是看到。