簡體   English   中英

在外殼中運行連接到MySQL數據庫的PHP腳本

[英]Running php script that connects to mysql db in shell

我更喜歡在shell中運行php腳本,因為輸出直接出現,而不是像瀏覽器一樣分批輸出。 這對於查看腳本實際上仍在工作,以及查看長腳本的哪個部分花費的時間最長可能很有幫助。

當我像這樣從外殼調用php腳本時

php filename.php

它工作正常,但前提是腳本中未建立任何數據庫連接。

顯然,mysql_connect()似乎失敗了:

Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock)

我怎樣才能解決這個問題?

謝謝!

查爾斯

編輯1

我連接到數據庫,如下所示:

//Connect to db
$user="root";
$databasePassword="";
$host="localhost";
$database="database1";
$identifier=mysql_connect($host,$user,$databasePassword,true);
$db1=mysql_select_db($database);

找到的解決方案

向我展示了正確的方法-就像將“ localhost”替換為“ 127.0.0.1”一樣簡單,因為:“原因是“ localhost”是mysql驅動程序的特殊名稱,使其使用unix套接字連接到mysql而不是tcp套接字。”

顯示您的mysql_connect()語句,如果守護程序在此端口上偵聽,也許您應該嘗試連接到localhost:3306。

參見:php.net/mysql_connect

如果通過瀏覽器調用相同的腳本時,命令行環境的ini文件顯然有所不同。 ini_get(“ mysql.default_host”)顯示如果未指定要連接的主機,則使用什么設置。

暫無
暫無

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

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