當(dāng)嘗試在console下運(yùn)行php腳本時(shí)卻提示pdo連接mysql.sock時(shí)出錯(cuò)
創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為鎮(zhèn)海等服務(wù)建站,鎮(zhèn)海等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為鎮(zhèn)海企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
PHP Error[2]: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock)
但是查過了MAMP自帶的php5.2和php5.3的php.ini發(fā)現(xiàn)里面的幾處默認(rèn)mysql連接文件default_socket設(shè)置都沒有問題,于是google之。發(fā)現(xiàn)原來命令行的php是用了MAC OS自帶的php,需要修改MAC OS自帶的php.ini。 具體步驟如下:
如果你已經(jīng)有/private/etc/php.ini就不需要再拷貝一份php.ini.default出來了。
cd /private/etc/
sudo cp php.ini.default php.ini
sudo vi php.ini
把php.ini里面所有的default_socket都改成MAMP的mysql.sock的正確位置即可。
pdo_mysql.default_socket=/Applications/MAMP/tmp/mysql/mysql.sock
mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock
mysqli.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock
工具:Apache 2.4.16、PHP、Macbook Pro、MySQL?5.7
步驟:
1、打開終端,輸入命令:sudo apachectl start,啟動(dòng)Apache。
2、打開ie瀏覽器,在地址欄中輸入localhost,出現(xiàn)It Works字符串,就說明Apache已經(jīng)成功啟動(dòng)。
3、在Macbook pro下,Apache的網(wǎng)站服務(wù)器根目錄在/Library/WebServer/Documents路徑下。Mac OS 同樣自帶PHP,只需要在Apache的配置文件中添加Apache對(duì)PHP的支持就好了。在終端中輸入命令:
sudo vim?/etc/apache2/httpd.conf
打開httpd.conf文件。
4、去掉注釋符號(hào):LoadModule php5_module libexec/apache2/libphp5.so
5、重啟Apache服務(wù)。進(jìn)入/Library/WebServer/Documents,新建一個(gè)測(cè)試的PHP頁(yè)面,輸入命令:sudo vim test.php
6、在test.php中輸入以下代碼?php phpinfo(); ?
在ie瀏覽器中打開頁(yè)面localhost/test.php,測(cè)試PHP是否可用即可。
不知道你服務(wù)器環(huán)境和連接數(shù)據(jù)庫(kù)部分的代碼,怎么知道是哪里出錯(cuò)了?
這是在網(wǎng)上找的的,希望對(duì)你有些幫助。
windowsxp系統(tǒng) mysql-5.0.11-beta-win32
提示:1045 access denied for user 'root'@'localhost' using password yes
前幾天都好好的,昨天沒弄,結(jié)果今天晚上過來提示上面的這個(gè)錯(cuò)誤,重啟mysql還是不可以
網(wǎng)上的方法看了幾個(gè)但是不知道怎么弄
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking
# mysql -u root mysql
mysql UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql FLUSH PRIVILEGES;
mysql quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: 輸入新設(shè)的密碼newpassword
mysql
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]節(jié)提供的用戶名和密碼:
# mysql -udebian-sys-maint -p
Enter password: 輸入[client]節(jié)的密碼
mysql UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql FLUSH PRIVILEGES;
mysql quit
# mysql -uroot -p
Enter password: 輸入新設(shè)的密碼newpassword
mysql
另一個(gè)方法
Windows:
1. 管理員登陸系統(tǒng),停止mysql服務(wù)或者結(jié)束mysqld-nt進(jìn)程
2. 進(jìn)入命令行,來到mysql的安裝目錄.假設(shè)安裝目錄為 d:\mysql\ , CMD進(jìn)入命令行
3. 運(yùn)行 d:\mysql\bin\mysqld-nt --skip-grant-tables 啟動(dòng)mysql,關(guān)閉權(quán)限的檢查
4. 運(yùn)行 d:\mysql\bin\mysqladmin -u root flush-privileges password "newpassword" 重設(shè)root密碼
5. 重新啟動(dòng)mysql服務(wù)
第4步也可以直接修改mysql表,所用到的SQL語(yǔ)句同linux部分,這里就不再重復(fù)了.