在 Windows 7 中的 Program Files 中安装应用程序时无法打开数据库文件

Unable to open database file when the App is installed in Program Files in Windows 7

我有一个 PHP 桌面应用程序。本应用在Windows XP下安装测试成功,但是在Windows 7下安装在c:\Program Files\myApp文件夹下出现问题,数据库文件打不开,结果在错误消息中:

SQLite3::query: Unable to open database file in C:\Program Files\myApp\www\checkLogin.php

注意:- 我的数据库在同一个 位置作为 PHP 脚本,即 www\myDatabase.db .

我用来连接数据库的代码是:-

class MyDB extends SQLite3 
 {
    function __construct() 
    {
      $this->open('myDatabase.db');
    }
 }
 $db = new MyDB();

 if(!$db) 
 {
   echo $db->lastErrorMsg();
 }

如果我在其他位置重新安装应用程序,例如 C:\myApp,则没有问题,应用程序会成功运行。

(个人认为更多是操作系统的安全问题。)

那么,是什么原因导致Program Files文件夹中的数据库文件无法打开呢?如何克服这个问题?

通常建议直接安装到您的根驱动器示例 C:\myApp 这是因为 windows User Account Control 设置阻止了某些特定功能以保护您的系统。

更改 UAC 设置可能允许您的程序 运行 从任何其他目录,但会使您的计算机面临来自恶意程序的其他风险。