使用tp訪問數據庫時提示錯誤: 'PDO' not found, 和not defined constant mysql_attr_init_command 和call an undefined fu

第一個問題: PDO not found 是由於 php沒有安裝pdo擴展, 沒法提供給 php 以 數據庫訪問功能, 因此 報錯是在文件: Think/Db.class.php的裏面.

解決方法是: 給 php安裝 PDO 擴展: dnf install php-pdo 這時 再看 就能夠 在 默認 自動 加載的modules目錄 中 看到: /usr/lib/php/modules pdo.so這個共享庫php

安裝好 pdo後, 又出現了 沒有定義 mysql_attr_init_command 這個常量的錯誤, 是由於 雖然php能夠訪問數據庫了, 可是默認的只提供了 pdo_mysqli.so的訪問接口, 沒有提供 訪問 mysql的接口, 因此 這個時候, 還要 安裝 php訪問 mysql數據庫的 動態連接庫: 是 php-mysqlnd 這個包:

dnf install php-mysqlnd 其中 mysqlnd: 是 mysql native driver (mysql數據庫的 本地驅動)
這個包提供了 mysql.so, mysqlnd.so, pdo_mysql.so 三個共享庫.
這樣 就能夠讓 php access and manipulate mysql database了.mysql

Mysql Native驅動(Mysql Native Driver 簡稱:mysqlnd )在PHP5.3.0版本中被引入。PHP5.4以後的版本mysqlnd被做爲默認配置選項。 由zend 公司開發的MySQL數據庫驅動,採用PHP開源協議(即 PHP license)避免了任何可能存在的版權問題。mysqlnd提供了和Zend引擎高度的集成性,更加快速的執行速度,更少的內存消耗,利用了PHP的Stream API,以及客戶端緩存機制。因爲mysqlnd是透過Zend引擎,所以提供更多高級特性,以及有效利用Zend進行加速。
參考: https://blog.csdn.net/misakaqunianxiatian/article/details/52079918sql

tp3.2.3 在使用 include 包含語句, 包含模塊的時候, 提示: Call to undefined function Think\simplexml_load_string()?

是由於php沒有安裝 相應的模塊去訪問 xml. 因此須要 安裝 php-xml模塊.
dnf install php-xml 而後從新啓動httpd服務.數據庫

安裝好這些後, 要重啓httpd服務!

相關文章
相關標籤/搜索