在linux服务器下SQLITE数据库无法使用

mercuryhg 2004-12-19 01:15:43
我用的是PHP5下加入的SQLITE数据库,在WINDOWS 下使用没有问题,但是现在换到LINUX下就出现了无法连接的问题,大家帮我看看是怎么回事吧,谢谢啦!

下面是连接内容


quote:
--------------------------------------------------------------------------------

<?php
$db= sqlite_open($_SERVER["DOCUMENT_ROOT"]."\\rpgdate\\rpgwork.sqlite");
?>

--------------------------------------------------------------------------------
...全文
235 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2004-12-20
  • 打赏
  • 举报
回复
1、检查$_SERVER["DOCUMENT_ROOT"]的值,这一点非常重要
2、修改
$db= sqlite_open($_SERVER["DOCUMENT_ROOT"]."\\rpgdate\\rpgwork.sqlite");

$db= sqlite_open($_SERVER["DOCUMENT_ROOT"]."/rpgdate/rpgwork.sqlite");
本来在win32下也应该这样写的
3、在有些场合$_SERVER["DOCUMENT_ROOT"]可能无值,以他做参照并不可取
mercuryhg 2004-12-20
  • 打赏
  • 举报
回复
楼上的兄弟,改了,可是一样没有用。
如果用相对路径是没有问题可以访问的,但用到绝对路径,这个就没有办法使用了。熟悉LINUX的朋友帮我看看吧!
ice_berg16 2004-12-20
  • 打赏
  • 举报
回复
<?php
$db= sqlite_open($_SERVER["DOCUMENT_ROOT"]."\\rpgdate\\rpgwork.sqlite");
?>

"\"是window的路径写法
<?php
$db= sqlite_open($_SERVER["DOCUMENT_ROOT"]."/rpgdate/rpgwork.sqlite");
?>
mercuryhg 2004-12-20
  • 打赏
  • 举报
回复
楼上的几位兄弟,我的数据库因为是单独放在一个目录下面的,而相对调用链接文件所在的目录也是不同的,所以用 surfchen(冲浪) 的方法是没法用的。
ezdevelop 2004-12-20
  • 打赏
  • 举报
回复
路径问题
黑夜路人 2004-12-20
  • 打赏
  • 举报
回复
呵呵,我还真用的比较少sqlite....看来我老土了..
完全可以替代文本数据库嘛...呵呵
mercuryhg 2004-12-20
  • 打赏
  • 举报
回复
ice_berg16(寻梦的稻草人) ,老兄,我爱你啊!!!!用你的做法,竟然成功了!!!!

终于发现了,原来 $_SERVER["DOCUMENT_ROOT"] 的值在LINUX下竟然不是网站的根目录!!!

define( "APP_ROOT", dirname(__FILE__) ); 得到的值是另外一个,

谢谢啦,终于搞定这个问题了,以前不用LINUX,这些问题都没法解决。
mercuryhg 2004-12-20
  • 打赏
  • 举报
回复
楼上的老兄,能不能详细一点,用你的做法和我的作法在取得的根目录上有什么差别呢?
那我的做法在LINUX下无法使用是什么原因呢?
ice_berg16 2004-12-20
  • 打赏
  • 举报
回复
在LINUX下如何可以确认网站的根目录?

我的作法是在网站根目录下的配置文件中写入
define( "APP_ROOT", dirname(__FILE__) );
mercuryhg 2004-12-20
  • 打赏
  • 举报
回复
如果把这个问题换成
在LINUX下如何可以确认网站的根目录?
我想可能就更好一些了吧!
mercuryhg 2004-12-20
  • 打赏
  • 举报
回复
回复楼上的老哥,
1、$_SERVER["DOCUMENT_ROOT"]的值已经确认过了,“ /usr/local/apache/htdocs/”。
2、我把$db= sqlite_open($_SERVER["DOCUMENT_ROOT"]."\\rpgdate\\rpgwork.sqlite");
改为了
$db= sqlite_open("/usr/local/apache/htdocs/rpgdate/rpgwork.sqlite");
也不行。

老哥再帮我看看吧!
surfchen 2004-12-19
  • 打赏
  • 举报
回复
试一下这个
<pre>
<?php
$db = new SQLiteDatabase("db.sqlite");
$result = $db->query("select * from sqlite_master");
while($row = $result->current())
{
print_r($row);
$result->next();
}
unset($db);
?>
</pre>

另外:你干吗不用相对路径吗?
Coyozo 2004-12-19
  • 打赏
  • 举报
回复
沙发

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧