2015-01-16 225 views
0

除了我的日常工作之外,我剛剛開始使用php-mysql,並且因爲幾天我在解決Apache,PHP和MySQL之間的連接問題。PHP-MYSQL連接無法正常工作

首先,我卸載所有附帶Linux發行版的PHP和MySQL的東西,然後我RHEL6機器上安裝MySQL的22年5月6日和PHP 5.6.4,並使用以下命令從源配置PHP

./configure --with-apxs2=/usr/sbin/apxs --with-mysql 

之後我寫了一些代碼來檢查mysql和php之間的連接。這裏是:

<?php 
    $host_name = "localhost"; 
    $database = "rating"; // Change your database name 
    $username = "rate"; // Your database user id 
    $password = "rate"; // Your password 

    //////// Do not Edit below ///////// 
    try { 
    $dbo = new PDO('mysql:host='.$host_name.';dbname='.$database, $username, $password); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    echo "Connected successfully"; 
    } 
    catch 

(PDOException $e) { 
print "Error!: " . $e->getMessage() . "<br/>"; 
echo "Connection failed: " . $e->getMessage(); 
die(); 
} 
?> 

這會拋出我找不到錯誤的驅動程序。谷歌搜索後,我才知道可能會丟失PDO驅動程序,必須安裝它。請幫我解決這個問題。

如何讓我的php-mysql連接工作。請幫忙。我的配置命令是不正確的。請指導我,以及在php.ini中需要做什麼修改。

文件。

回答

0

使用下面的行。

$dbo = new PDO('mysql:host='.$host_name.';dbname='.$database.'', $username, $password); 
+0

做....同樣的錯誤 錯誤!找不到驅動程序 –

+0

請參考此鏈接查看[PDO_MYSQL](http://php.net/manual/en/ref.pdo-mysql.php) –

+0

@adarsh ....嘗試此操作並按照說明使用以下命令重新配置 ./configure --with-pdo-mysql --with-mysql-sock =/var/mysql/mysql.sock 請告訴我在哪裏配置這個命令。從一個特定的目錄或從任何地方。 –

0

您需要爲您的數據庫引擎(MySQL)安裝PDO驅動程序。 如果你是在Debian狀分佈,你可以這樣做:

# apt-get install php5-mysql

在RedHat樣:

# yum install php-mysql

然後,你需要激活它在php.ini :

extension=pdo.so 
extension=mysql.so 
extension=pdo_mysql.so 

然後重新啓動apache。

+0

[root @ xxx html]#apt-get install php5-mysql -bash:apt-get:command not found 我在rhel6上手動安裝了php和mysql,而不是默認的使用 –

+0

@NavinGupta use yum;)包名是php-mysql – DirtyVader

+0

@DirtyVader ...已經試過了。得到低於錯誤。 file /usr/share/mysql/charsets/Index.xml從安裝mysql-libs-5.1.47-4.el6.x86_64與包中的文件衝突MySQL-server-5.6.22-1.el6.x86_64 從安裝mysql-libs-5.1.47-4.el6文件/usr/share/mysql/charsets/armscii8.xml。x86_64與MySQL-server-5.6.22-1.el6.x86_64中的文件衝突從安裝mysql-libs-5.1.47-4.el6.x86_64衝突的文件/usr/share/mysql/charsets/ascii.xml衝突文件從包MySQL-server-5.6.22-1.el6.x86_64 的文件。 。 。 –

0

檢查你的php.ini文件,然後搜索extension=php_pdo_mysql.dll如果它在評論請去掉這一行

extension=php_pdo_mysql.dll 
+0

okk ..但這是對於Windows機器我猜 –