連接字串中的用戶名和密碼錯誤。你查一下test.php的第三行看看就知道了。
站在用戶的角度思考問題,與客戶深入溝通,找到阿拉爾網(wǎng)站設計與阿拉爾網(wǎng)站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、雅安服務器托管、企業(yè)郵箱。業(yè)務覆蓋阿拉爾地區(qū)。
PHP連接數(shù)據(jù)庫Mysql錯誤:Fatal error: Call to undefined function mysql_connect() in。。。(某個php文件的地址)
此錯誤是出現(xiàn)在安裝并配置好PHP、Mysql、Apache服務器的情況下產生的。
我在網(wǎng)上查找了很多原因,并嘗試著修改之后成功了,將解決方法跟大家交流下。
1、在PHP安裝目錄之下,找到php.ini,在此文件中將“;extension=php_mysql.dll”引號中句子前的分號去掉。表明php可以加載此mysql模塊,當然也可以選擇其他要加載的模塊,去掉其前面的分號,但是模塊加載得越多,占用的資源越多。
2、加載了模塊之后,就需要指明模塊所在的位置,比較簡單的方式是直接修改環(huán)境變量。
具體操作為:
右鍵”我的電腦” - “屬性” - “高級” - “環(huán)境變量”,編輯“系統(tǒng)變量”下的“Path”,在原來的值后加上“;E:\php\php5;E:\php\php5\ext”。(“E:\php\php5”為php的安裝目錄)
系統(tǒng)路徑添加好之后需要重啟計算機才能生效。
3、將php安裝目錄下的libmysql.dll拷貝至apache服務器的bin目錄之下。
4、所有的配置修改好之后,需要重啟apache服務器。
測試代碼:test.php(其中,user為MySQL的用戶名,userpassword為MySQL的對應用戶密碼)
這是由于數(shù)據(jù)庫連接數(shù)過多導致的,說明之前建立的連接你沒有釋放。
看到你的需求是實時獲取數(shù)據(jù)庫里面的內容,可以考慮使用內存數(shù)據(jù)庫,這樣返回的效率高,也會避免過多連接的錯誤。
可以使用redis和memcache來解決這個問題。代碼如下,記得首先要安裝redis,并且要安裝php-redis擴展。
?php
$redis = new Redis();
$redis-connect('127.0.0.1', 6379);//serverip port
$redis-auth('mypassword');//my redis password
$redis -set( "test" , "Hello World");
echo $redis -get( "test");
PHP是一種廣泛使用的動態(tài)腳本語言,不過在IIS中并沒有內置對PHP語言的支持,因此如果需要使用PHP,必須自行安裝。PHP可以安裝為CGI模式或者 ISAPI模式,由于ISAPI模式具有更高的性能,因此我建議大家使用ISAPI模式。PHP具有PHP4、PHP5兩種版本,不同的版本安裝時有些區(qū)別,在此我分別進行介紹。 在PHP官方網(wǎng)站()上提供了PHP解析器的兩種安裝包的下載,分別是完整文件的壓縮包和不包含擴展庫文件的Installer安裝包。Installer安裝包只能安裝PHP為CGI模式,如果你只需要讓PHP工作在CGI模式,可以下載Installer安裝包并執(zhí)行,它可以自動安裝并配置PHP。 安裝PHP4 PHP4的安裝比較簡單,在此我僅介紹ISAPI模式的安裝。本文寫作時PHP4的最新版本是4.4.2,下載完整安裝包后,將它解壓到C盤根目錄下,將其目錄改名為PHP(個人習慣 :) ),如下圖所示: PHP執(zhí)行時需要php4ts.dll文件,此文件位于“C:\PHP”目錄中。你可以將“C:\PHP”添加到path系統(tǒng)環(huán)境變量中,也可以將php4ts.dll文件復制到其他path中已經定義的目錄,例如“C:\windows”、“C:\windows\system32”目錄中;在此我將其復制到“C:\windows”目錄中; 現(xiàn)在我們需要在“C:\windows”目錄下創(chuàng)建PHP配置文件,在PHP目錄下自帶了兩個PHP配置文件樣本,分別名為php.ini-dist和php.ini-recommended。其中php.ini-recommended在性能和安全性上有更大的提高,推薦使用;但是如果使用php.ini-recommended出現(xiàn)問題,則可以使用php.ini-dist,它具有最簡單的配置,但是也具有最好的兼容性。 將php.ini-recommended文件復制到“C:\windows”下,然后改名為“php.ini”; 此時,基礎配置完成,我們需要在IIS中進行進一步的設置。 在IIS管理控制臺中,右擊Web服務擴展,然后選擇添加一個新的Web服務擴展, 在彈出的新建Web服務擴展對話框,輸入擴展名為php,然后添加按鈕,選擇“c:\php\sapi\php4isapi.dll”,然后勾選設置擴展狀態(tài)為允許,再點擊確定; 此時,Web服務擴展添加完成,如下圖所示:
Q0 |8 m }* F# d3 N$ @! k; K現(xiàn)在,我們還需要在Web站點屬性中添加應用程序映射,右擊需要啟用PHP支持的Web站點,選擇屬性;如果要對所有Web站點啟用PHP支持,則右擊網(wǎng)站,然后選擇屬性,在網(wǎng)站全局所做的配置可以應用到所有已有的站點并且將應用到所有新建的Web站點; 在彈出的Web站點屬性對話框上,點擊主目錄標簽,然后點擊配置按鈕;需要注意的是,如果Web站點的執(zhí)行權限為無,那么你需要修改為純腳本; 然后在彈出的應用程序配置對話框上點擊添加按鈕; 在彈出的添加/編輯應用程序擴展名映射對話框上,點擊瀏覽選擇可執(zhí)行文件為“c:\php\sapi\php4isapi.dll”,然后輸入擴展名為php,點擊確定即可;
! I) G/ g0 s) y% I依次點擊確定回到IIS管理控制臺,然后我們可以在對應站點的主目錄創(chuàng)建一個php腳本文件來測試PHP支持是否啟用,例如我在Web站點根目錄創(chuàng)建一個名為phpinfo.php的文件,包含以下內容: ? phpinfo() ? 然后在瀏覽器中訪問,如下圖所示,ISAPI模式的PHP4安裝成功。 如果你需要在PHP4啟用PHP擴展,例如GD2,則需要執(zhí)行以下三步: 1、修改PHP.ini文件(默認為C:\windows目錄中)中的extension_dir變量,將其指向PHP4的擴展文件目錄,默認為“c:/php/extensions”; 1、 2、修改PHP.ini中后面的擴展變量,去掉對應擴展庫前注釋用的分號從而啟用此擴展;如下圖,我啟用GD2; 3、最后,也是最關鍵的一步,你需要將PHP擴展所依賴的DLL文件的路徑(“c:\php\dlls”)添加到path變量中,或者將這些DLL文件復制到 path變量已定義的路徑中,例如“C:\windows”、“C:\windows\system32”目錄中,然后重啟IIS服務以讓它讀取修改后的配置文件。 從phpinfo上獲取的信息可以看出PHP擴展添加成功。下圖是配置的PHP擴展目錄, 從下圖可以看出GD2擴展配置成功。
8 N7 a( R6 s; ?; }
安裝PHP5 安裝PHP5比安裝PHP4更為復雜,雖然可以采用和安裝PHP4同樣的方式來安裝ISAPI模式的PHP5,但是我建議你同時下載Installer安裝包和完整安裝包,先運行Installer安裝包安裝CGI模式的PHP,然后在CGI模式的基礎上配置PHP5為ISAPI模式。這樣更為方便,更重要的是可以避免一些問題。本文寫作時PHP5的最新版本是5.1.2,下載Installer安裝包和完整安裝包后,首先將完整安裝包解壓到 “c:\php5”目錄下,如下圖所示: 和PHP4不同,PHP5中的PHP擴展所依賴的DLL文件并沒有單獨存放在一個子目錄中,而是放置在php5目錄中,因此我們最好為php5目錄添加一個path變量。 右擊我的電腦,選擇屬性,然后在彈出的系統(tǒng)屬性對話框上點擊高級標簽,然后點擊環(huán)境變量按鈕;
在彈出的環(huán)境變量對話框上,在下部的系統(tǒng)變量列表框中找到path變量并雙擊,然后在彈出的編輯系統(tǒng)變量對話框的變量值中添加“c:\php5”目錄,依次點擊確定返回。 現(xiàn)在運行Installer安裝包,在彈出的歡迎頁和授權協(xié)議頁點擊下一步; 在安裝類型頁,根據(jù)你的喜好進行選擇,建議選擇高級,這樣可以自定義更多的選項,選擇后點擊下一步; 在目標目錄頁,選擇我們將完整安裝包解壓的目錄“c:\php5”,然后點擊下一步; 在備份替換的文件頁,選擇不,點擊下一步; 在選擇上傳臨時目錄頁,選擇用于緩存上傳文件的臨時目錄,你可以設置為任意目錄,但是客戶訪問Web站點時所使用的用戶賬戶(通常是IUSR_服務器名)必須具有此目錄的讀寫權限;在此我接受默認設置,點擊下一步,PHP安裝程序會自動創(chuàng)建此目錄; 在選擇會話保存目錄頁,選擇用于保存用戶會話數(shù)據(jù)的臨時目錄,你可以設置為任意目錄,但是客戶訪問Web站點時所使用的用戶賬戶(通常是IUSR_服務器名)必須具有此目錄的讀寫權限;在此我接受默認設置,點擊下一步,PHP安裝程序會自動創(chuàng)建此目錄; 在郵件配置頁,如果你具有對應的郵件服務器則輸入相應選項,否則直接點擊下一步;
在錯誤報告級別頁,接受默認的顯示所有錯誤、警告和提示,點擊下一步;在PHP完全安裝成功時,我們應配置PHP不顯示任何錯誤信息,從而增強Web站點的安全性; 在選擇服務器類型頁,根據(jù)你的服務器類型進行選擇,在此我選擇Microsoft IIS 6 or higher,點擊下一步; 在文件擴展名頁,接受默認的只選擇.php,點擊下一步; 在開始安裝頁點擊下一步;此時,PHP開始進行安裝,最后在安裝完成的對話框上點擊確定;
! Q! z! T3 e/ [" s* s5 W現(xiàn)在我們需要添加客戶訪問Web站點時所使用的用戶賬戶(通常是IUSR_服務器名)對于上傳臨時目錄和會話保存目錄的讀寫權限,在“c:\php5”目錄下選擇sessiondata和uploadtemp這兩個目錄后右擊,選擇屬性, 然后在安全標簽上添加相應用戶賬戶的讀寫權限,例如在此我添加了IUSR_MUNICH的讀寫權限。 Installer安裝包只是在Web站點中添加了應用程序映射,并沒有在IIS中添加Web服務擴展,你必須為CGI模式執(zhí)行文件php-cgi.exe添加一個Web服務擴展后才能使用PHP,如下圖所示:
發(fā)表于 2008-9-17 10:26 | 只看該作者
此時,運行phpinfo來查看,如下圖所示,CGI模式的PHP5已經安裝好了。 現(xiàn)在我們來修改PHP5為ISAPI模式,首先修改應用程序映射,在IIS管理控制臺中右擊網(wǎng)站,然后選擇屬性,在彈出的Web站點屬性對話框上,點擊主目錄標簽,然后點擊配置按鈕,在彈出的應用程序配置對話框中,你可以看到php擴展名是映射到“c:\php5\php-cgi.exe”, 雙擊此項,修改其映射到“c:\php5\php5isapi.dll”,然后依次點擊確定返回到IIS管理控制臺。 然后在Web服務擴展中進行同樣的修改,如下圖所示,然后點擊確定; 在phpinfo中刷新,此時PHP5已經運行在ISAPI模式下了。 當PHP5安裝好后,我們需要修改PHP.ini提高配置的安全性,在PHP.ini中修改以下變量:
* safe_mode = on : 啟用PHP的安全模式,可以獲得更高的安全性;
; O2 A) W( C% b) N
* cgi.force.redirect = 1 : cgi.force.redirect為CGI方式的運行提供了更高的安全性,默認PHP是啟用的,但是在通過Installer安裝包 安裝PHP時會設置為禁用(cgi.force.redirect = 0),你可以簡單的刪除此行(cgi.force.redirect = 0)即可; - k) ~* h) U: X2 `: e5 b% n
* display_errors = off :不顯示任何PHP的錯誤,這樣可以提高Web站點的安全性,但是不利于Web站點出現(xiàn)問題時的調試;
3 W8 {' q [! \
如果你需要在PHP5啟用PHP擴展,例如不再作為默認擴展的mysql或者GD2,操作方式和PHP4是一樣的, 1、修改PHP.ini文件(默認為C:\windows目錄中)中的extension_dir變量,將其指向PHP5中的擴展文件目錄,在此為“c:/php5/ext”;
發(fā)表于 2008-9-17 10:27 | 只看該作者
2、修改PHP.ini中后面的擴展變量,去掉對應擴展庫前注釋用的分號從而啟用此擴展;如下圖,我啟用Mysql和GD2; 3、由于在前面我已經將PHP擴展所依賴的DLL文件的路徑(“c:\php5”)添加到了path變量中,所以在此無需進行其他操作。否則你需要將這些 DLL文件復制到path變量已定義的路徑中,例如“C:\windows”、“C:\windows\system32”目錄中。最后重啟IIS服務以讓它讀取修改后的配置文件。 從phpinfo上獲取的信息可以看出PHP擴展添加成功,下面的圖分別是配置的PHP擴展目錄、GD2和mysql擴展。
六、Look’n’stop的一些高級功能9 Q! D7 W) j9 }7 C- d
目前Look’n’stop2.05p2版部分功能默認沒有打開,官方已有Look’n’stop2.05p3版下載,在P3版安裝完成后在它的安裝目錄下會有一些與高級應用有關的文件,大家可以通過看該目錄下的說明文件了解其用途。建議大家打開下述高級功能,此時系統(tǒng)才是最安全的。。 n% S: g. w E# Y# a
1.把Look’n’stop作為服務啟動2 u; ~4 L* G- O z
Look’n’stop2.05P2版的虛擬硬件驅動程序就是系統(tǒng)驅動級的,操作系統(tǒng)啟動時該驅動程序會啟動(僅次于操作系統(tǒng)內核),所以 Look’n’stop可以提前于病毒和木馬啟動,并及時監(jiān)控,這點對于防火墻來說是非常有用的,但該驅動只用于發(fā)現(xiàn)連接企圖,而不采取任何行為。
4 I% ?0 ~; P" t, F Look’n’stop2.05p3版中提供了把它的主程序(不是虛擬硬件驅動)作為服務啟動的功能,在這種情況就可以及時給用戶提示,由用戶做決定了。" m- @, B5 P9 d m# |$ i0 }6 o }
2.打開Look’n’stop的一些高級功能
+ O U3 M( q; t ~5 U7 R P3版提供了一個注冊文件,導入這個注冊文件就打開了它的一些高級功能,如隱藏進程調用隱藏進程、線程侵加、DLL檢測等功能,這些功能全部是防止機器中的惡意程序企圖連接外部的,Look’n’stop能有效進行阻止。此后,當重新啟動操作系統(tǒng)后,隨便運行一、二個需要上網(wǎng)的程序后,打開“選項”標簽,點“控制臺”,點“驅動日志”,就會發(fā)現(xiàn)如圖16所示一些信息。
0 [9 Z+ m3 R3 S* C# B" V m# B j9 b H$ O S3 t
當你看到F02_ok等這五條內容(并不一定同時出現(xiàn),順序也可能不同)時,說明Look’n’stop的高級功能全部正常啟用了。8 {. p U3 }3 V3 v6 N0 O( d; z0 R. b
驅動日志顯示的信息及其對應的設置項或者隱藏參數(shù)鍵值解釋如下:
* t! f7 ]/ h: s P+ l2 y- vFO2_Ok 監(jiān)視線程侵加-----打開“高級設置”--“監(jiān)視線程侵加”5 V) g/ C) d7 e! ?- Y
: a6 \: l/ T1 W. ]
FO2_2_Ok 監(jiān)視線程侵加的增強(如Copycat這種類型行為的木馬)-----"CheckVAEUDTF"=dword:00000001
0 |2 m8 m0 L0 Q. l1 m! ?' H# j! k6 ?( |' L5 v
FO3_Ok 監(jiān)視利用DNS解析行為的木馬。因為DNS請求是由OS內核完成的,故多數(shù)防火墻對內核是放行的(如DNStester這種類型)-----"CheckDNSQ"=dword:00000001: k5 U, T3 h- N$ w+ _8 W% a6 Y
w9 r+ Y* |- _' Y: A0 ^FO4_Ok 防止用DLL插入到其它進程,并不是直接去調用某個程序的方式(如Pcaudit等)同時打開DLL檢測-----"CheckHSRE"=dword:00000001和"ActivatedSoon"=dword:00000001' g# e4 ^% ~ T
' X) g- s" U/ e- y( s9 \, |
FO5_Ok 防止并不生成線程的直接代碼插入,亦即內存數(shù)據(jù)修改(如Copycat、Thermite等)-----"CheckVAEUDTF"= dword:00000001% f, U0 _0 q$ r5 Q' F! ^) |3 H
3. 打開高級功能后打印機共享問題的解決
, H/ Y6 \ \4 C3 x 讓Look’n’stop作為系統(tǒng)服務啟動后,以簡單共享方式建立的共享打印機是不能被其它用戶使用的。原因是Look’n’stop阻止了UPnP協(xié)議的1900端口的通訊造成的,沒辦法,因為Look’n’stop監(jiān)制非常嚴。
/ G0 }8 g! E6 X# x1 I/ u5 P 解決辦法是在“互聯(lián)網(wǎng)過濾”規(guī)則中加一個規(guī)則“以太網(wǎng)類型:IP;協(xié)議:UDP;目標區(qū)IP地址:239.255.255.250;目標區(qū)TCP/UDP端口等于:1900;并允許”就可以了。