php-cli無法使用mysql函數庫

可能只有極少數人遇到這個問題~ 又開始啰嗦咯~

什麼是Cli?

維基百科上的解釋:命令行界面(Command Line Interface,简写:CLI)是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)。

通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行界面的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。所以,在现在的图形用户界面的操作系统中,通常都保留着可选的命令行界面。

虽然现在许多电脑系统都提供了图形化的操作方式,但是却都没有因而停止提供文字模式的命令行操作方式,相反的,许多系统反而更加强这部份的功能,例如Windows就不只加强了操作命令的功能和数量,也一直在改善Shell Programming的方式。而之所以要加强、改善,自然是因为不够好;操作系统的图形化操作方式对单一客户端电脑的操作,已经相当方便,但如果是一群客户端电脑,或者是24小时运作的服务器电脑,图形化操作方式有时会力有未逮,所以需要不断增强命令行接口的脚本语言和宏语言来提供丰富的控制与自动化的系统管理能力,例如Linux系统的Bash或是Windows系统的Windows PowerShell。

吼吼~ php-cli就是所謂的php命令行模式,通常來說cgi上的php腳本執行時間是有限制的,默認為30s~ 但是在cli模式下,執行時間是∞的~ 單純程式語法上來講,二者並無任何不同~ 只要能在cgi模式上執行,也肯定就能在cli模式上執行~ 可以利用cli進行輸出調試~

一些人在配置服務器的時候,可能只單純安裝了cgi或fastcgi…之後安裝php-cli支援,使用php中的mysql操作函數,在命令行下執行,卻發現出現一個錯誤“PHP Fatal error: Call to undefined function mysql_connect()”….函數沒定義!我倒~ 囧哦~

原因是:cgi跟cli二者之間的函數支援庫是分開的!

解決方法~ 先執行下面指令~(因為有時候發現/var/lib/mysql/mysql.sock 则根本没有/var/lib/mysql这个目录~具體情況具體分析~不妨先看看你的服務器上有沒有這個目錄~/tmp/mysql.sock這個目錄應該是存在的~想創建上面的目錄,然後把下面的目錄鏈接到剛創建的目錄上~)

mkdir /var/lib/mysql
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

之後就是安裝支援庫了~

yum install php-mysql

安裝完成就能正常使用咯…簡單的很吧…

Leave a Reply

Your email address will not be published. Required fields are marked *