PDO: غير قادر على إنشاء قاعدة بيانات SQLite في الذاكرة
-
19-09-2019 - |
سؤال
تحاول أن تتعلم قليلا عن PDO وهي تمر هذا البرنامج التعليمي. وبعد لديها مقتطفات التالية من التعليمات البرمجية:
<?php
try
{
$db = new PDO('sqlite::memory');
echo "SQLite created in memory.";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
عندما أقوم بتشغيل هذا أحصل على رسالة الاستثناء التالية:
SQLSTATE [HY000] [14] غير قادر على فتح ملف قاعدة البيانات
ماذا يعني ذلك؟ كيف يمكنني الحصول عليها للعمل؟ أنا قادر على الاتصال بقاعدة بيانات MySQL وأيضا ملف قاعدة بيانات SQLite العادية. لذلك أعرف أن شيئا ما على الأقل يعمل ...
أنا على نظام التشغيل Windows 7 64 بت مع Apache 2.2.11 و PHP 5.3.0 (الأحدث WampServer. ثبيت). phpinfo()
تقارير أن لدي PDO_SQLITE مع مكتبة SQLite 3.6.15 ممكنة.
المحلول
لديك لكتابة
$db = new PDO('sqlite::memory:');
الزائدة :
مفقود.
يتكون اسم مصدر بيانات PDO_SQLITE (DSN) من العناصر التالية:
بادئة DSN هي sqlite:.
للوصول إلى قاعدة بيانات على القرص، إلحاق المسار المطلق بادئة DSN.
لإنشاء قاعدة بيانات في الذاكرة، إلحاق :ذاكرة: إلى بادئة DSN.
نصائح أخرى
لست متأكدا @ فوز الأذونات، ولكن على * nix، يحتاج SQLite كتابة تصاريح إلى ملفات قاعدة البيانات DIR الخاصة بملفات TEMP.