簡體   English   中英

在Plesk中使用PHP MSSQL PDO

[英]Using PHP MSSQL PDO with Plesk

我當前的網站控制面板是PLESK Parallels,並且我正在嘗試在我的網站上使用PDO MSSQL。

我已經在互聯網上搜索了,我知道PDO dll必須在我的php.ini文件中,但是我一直在使用各種方法(例如YUM)不斷地閱讀不同的方法來做它,我對此感到困惑。

有人可以用簡單的黑白簡單說明來解釋該過程,以便我可以像這樣簡單地運行代碼

try {
$hostname = "myhostname";
$port = myportnumber;
$dbname = "databasename";
$username = "user";
$pw = "password";
$dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}

當我加載此命令所在的頁面時,收到錯誤消息

“無法獲取數據庫句柄:找不到驅動程序”

謝謝

在Plesk PHP 5.6的類似CentOS的操作系統上安裝pdo_dblib示例:

# yum install plesk-php56-devel
# /opt/plesk/php/5.6/bin/pecl download pdo_dblib
# tar -xzf PDO_DBLIB-1.0.tgz
# cd PDO_DBLIB-1.0/
# /opt/plesk/php/5.6/bin/phpize
# ./configure --with-php-config=/opt/plesk/php/5.6/bin/php-config --with-pdo-dblib=./freetds

# vim pdo_dblib.c

在第37行上替換:

function_entry pdo_dblib_functions[] = {

與:

zend_function_entry pdo_dblib_functions[] = {

保存文件並:

# make
# make install

你應該看到類似

Installing shared extensions:     /opt/plesk/php/5.6/lib64/php/modules/

啟用擴展:

# echo "extension=pdo_dblib.so" >> /opt/plesk/php/5.6/etc/php.d/pdo_dblib.ini

校驗:

# /opt/plesk/php/5.6/bin/php -m | grep pdo_dblib
pdo_dblib

現在,帶有PHP處理程序5.6的Plesk中的站點可以使用:

$dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");

注意

PHP PDO可在OOPS中使用。

因此,在PHP PDO中,首先必須使用PHP庫中已定義的PDO類創建數據庫處理程序。 它將作為數據庫查詢的對象。

當您使用PDO類連接數據庫時,就可以使用在PDO連接期間獲得的數據庫處理程序來處理查詢。

$dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$pw");

這里$ dbh將作為MySQL查詢操作的數據庫處理程序對象。

在這里有一個有關PHP PDO的個人博客。 只需參考一下,看看查詢是如何工作的。 最后,我想說這是非常簡單和安全的。

暫無
暫無

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

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