簡體   English   中英

連接到/ var / www外部的SQLite數據庫

[英]Connect to a SQLite database outside /var/www

當前代碼:

$dir = 'sqlite:/usr/local/teamspeak3/ts3server.sqlitedb';
$dbh  = new PDO($dir) or die("cannot open the database");
$query =  "SELECT * FROM clients";
foreach ($dbh->query($query) as $row)
{
    echo $row[0];
}

我正在嘗試打開此數據庫並回顯信息。 問題在於該網站位於/ var / www,並且不允許我訪問該文件夾上方的任何文件夾。 我無法訪問/ usr甚至/ var / backups之類的文件夾。

有人知道我仍然可以訪問該文件嗎? 我無法移動該文件,因為TeamSpeak會不斷對其進行更新。

PHP是否阻止來自沙盒環境外部的訪問?

要求您的管理員將到實際數據庫的符號鏈接放置到您可以訪問的文件夾中,以解決安全性限制。

這樣做是為了防止受感染的頁面(或只是普通的bug)提供對客戶端的訪問,而這些訪問應該是他們無法看到的。

我的回答是相當普通的Linux。

  1. 獲取對錯誤日志的訪問。
  2. 查找用於在網絡服務器上運行的腳本的php.ini
  3. 在此文件中找到指令open_basedir
  4. 添加/usr/local/teamspeak3/路徑。
  5. 檢查Web服務器對/usr/local/teamspeak3/ts3server.sqlitedb的讀取權限
  6. 重新啟動Web服務器。
  7. 如果不起作用,請檢查錯誤日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM