您在尝试通过php文件连接到sqlite时收到找不到驱动程序错误。我已经设置了777的权限... PHP版本5.2.16,我有模块安装。任何没有找到驱动程序的原因,php.ini也会显示扩展名为pdo.so和pdo_mysql.so的安装。
PDO
启用PDO支持 PDO驱动程序mysql
PDO_MYSQL
用于MySQL的PDO驱动程序,客户端库版本5.0.92
try {
// Connect to the SQLite Database.
$db = new PDO('sqlite:.subscribers.db');
} catch(Exception $e) {
die('connection_unsuccessful: ' . $e->getMessage());
}
答案 0 :(得分:17)
我必须实际安装扩展程序,这就是我在 Ubuntu 16 上运行 PHP 7.1 的方式:
sudo apt install php7.1-sqlite3
答案 1 :(得分:15)
你需要
[PDO_SQLITE]
extension=pdo_sqlite.so
要启用,sqlite:.subscribers.db
或者,对于Windows:
[PHP_PDO_SQLITE]
extension=php_pdo_sqlite.dll
并在您的ext
目录
答案 2 :(得分:4)
在archlinux上,我必须做两件事:
首先安装php-sqlite
pacman -S php-sqlite
之后在我的php.ini
文件中为我/etc/php/php.ini
我必须取消注释这一行:
;extension=pdo_sqlite.so
删除分号。
别忘了重启服务器。
答案 3 :(得分:0)
我在Windows上使用可移植版本的PHP,使用内置的Web服务器。我发现以下步骤有帮助:
import numpy as np
from numpy.linalg import lstsq
from scipy.linalg import orth
# random matrix
M = np.random.rand(10, 5)
# get 5 orthogonal vectors in 10 dimensions in a matrix form
O = orth(M)
def find_orth(O):
rand_vec = np.random.rand(O.shape[0], 1)
A = np.hstack((O, rand_vec))
b = np.zeros(O.shape[1] + 1)
b[-1] = 1
return lstsq(A.T, b)[0]
res = find_orth(O)
if all(np.abs(np.dot(res, col)) < 10e-9 for col in O.T):
print("Success")
else:
print("Failure")
确保php.ini中包含以下行:
[sqlite3的]
sqlite3.extension_dir =“ext”
extension = sqlite3
extension = pdo_sqlite
运行带有以下标志的php网络服务器:extension_dir = "ext"
所以目前我的php命令是- c C:\Path\to\PortablePHP\php.ini
。