導航:首頁 > 編程語言 > php55mysqli

php55mysqli

發布時間:2024-06-20 17:56:17

php連接mysql資料庫,報錯Function mysql_connect() is deprecated

info.php在CentOS
64位虛擬機運行的時候,其中MySQL版本那一欄是空白信息。我查看了info.php源碼,開始以為是MySQL資料庫的用戶名和密碼填寫錯了,仔細檢查沒有錯誤之後,便查看了Apache的error_log,得到如下消息:
mysql_connect():
No
such
file
or
directory
在網上查了一下,說是本地socket設置與默認的不一樣,導致php無法找到mysql的socket文件。根據網上提供的方法,需要做如下操作。
首先,在MySQL中用status查看資料庫狀態,如下所示:
mysql
Ver
14.14
Distrib
5.1.69,
for
redhat-Linux-gnu
(x86_64)
using
readline
5.1
Connection
id:
10
Current
database:
Current
user:
root@localhost
SSL:
Not
in
use
Current
pager:
stdout
Using
outfile:
''
Using
delimiter:
;
Server
version:
5.1.69
Source
distribution
Protocol
version:
10
Connection:
Localhost
via
UNIX
socket
Server
characterset:
latin1
Db
characterset:
latin1
Client
characterset:
latin1
Conn.
characterset:
latin1
UNIX
socket:
/var/lib/mysql/mysql.sock
Uptime:
20
hours
55
min
30
sec
其中,標紅的部分是我們需要的。然後打開php.ini文件,需要將mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket的值設置為標紅後面的那個目錄。重啟apache伺服器,後續info.php工作正常,MySQL的版本信息能夠正常顯示了。

㈡ PHP7.0怎麼通過打開擴展功能和mysql相連

第一步:進入php源碼中的"ext/mysql"目錄下

第二步:在當前目錄下運行phpize命令:/usr/local/php524/bin/phpize

phpize的規則:去哪個目錄下運行phpize文件,那麼就會在該目錄下生成一個configure文件。

第三步:運行剛才生成的configure文件

命令: ./configure --with-php-config=/usr/local/php524/bin/php-config --with-mysql=/usr/local/mysql/

這里最關鍵的是通過--with-mysql參數告訴mysql客戶端的位置。這樣才能生成mysql.so。

實驗的時候,沒有加這個參數,結果錯誤:

./configure --with-php-config=/usr/local/php524/bin/php-config

第四步:編譯生成.so文件

第五步:配置php引擎載入該擴展。

補充一下:就是去php.ini文件中修改一下配置,載入mysql.so這個擴展(這個擴展文件要放到php指定的擴展目錄下面去)

第六步:測試php引擎是否成功載入該擴展編寫文件phpinfo.php,內容是:<?phpehco phpinfo();?>

運行後,可以看到有如下信息顯示:mysqlMySQLSupport enabledActive PersistentLinks 0

Active Links 0

Client API version 5.1.55

MYSQL_MODULE_TYPE no value

MYSQL_SOCKET /tmp/mysql.sock

MYSQL_INCLUDE no value

MYSQL_LIBS no value

通過這樣的方式可以確認,php引擎已經成功載入了mysql.so擴展。

第七步:已經生成的mysql.so。編寫php代碼測試是否能連接mysql。

㈢ 阿里雲windows server 2012怎麼安裝php環境

一:下載資源

1.下載 VC11 vcredist_x64.exe(32位下載VC11 vcredist_x86.exe),因為雲伺服器上只裝了IIS,其他環境都沒有。推薦下載英文版。

2.下載Apache httpd-2.4.9-win64-VC11.zip (32位 網址相同) 由於自2.2後Apache官網不再更新win版本
3.下載php php-5.5.10 選擇線程安全版本 VC11 x64 Thread Safe

二:安裝配置

A.安裝 VC11 vcredist_x64.exe

B.安裝配置php

1.將php 解壓到自定義目錄下,我這里選擇和默認目錄一樣: C:/php55

2.將C:php55和C:php55ext加入環境變數PATH中

3.將C:php55php.ini-proction 復制一份,並重命名為php.ini

4.開啟幾個常用php擴展,用記事本打開C:php55php.ini

修改 721行 將; extension_dir = "ext" => extension_dir = "ext" (去掉extension前面的分號)

修改 873行 將;extension=php_mbstring.dll => extension=php_mbstring.dll(去掉extension前面的分號,這是php多位元組字元串擴展)

修改 875行 將;extension=php_mysql.dll => extension=php_mysql.dll(去掉extension前面的分號)

修改 876行 將;extension=php_mysqli.dll => extension=php_mysqli.dll(去掉extension前面的分號)

5.在 cmd中輸入 php -v 驗證是否安裝成功

C.安裝配置Apache

1.將Apache 解壓到自定義目錄下,我這里選擇和默認目錄一樣: C:/Apache24

2.打開C:apache24confhttpd.conf (推薦使用Notepad++ 可以看到行號)

說明:由於默認的IIS伺服器使用80埠,因此我令Apache使用8080埠,後面會講WindowsServer2012如何打開8080埠

修改 37行 ServerRoot "c:/Apache24" => ServerRoot "c:/Apache24"(這里輸入的是你解壓apache安裝包的位置)

修改 58行 Listen 80 => Listen 8080

修改 217行 #ServerName www.example.com:80 => ServerName www.example.com:8080 (去掉前面的#,同時設定埠號8080)

修改 241行 DocumentRoot "c:/Apache24/htdocs" => DocumentRoot "d:/WebSites" (這個目錄即為Apache伺服器的虛擬根目錄,可以自己設定)

修改 242行<Directory "c:/Apache24/htdocs"> =><Directory "d:/WebSites">(與241保持一致)

修改 262行AllowOverride None=> AllowOverride All

修改 267-269行

Require all granted
Order Deny,Allow
Allow from all

修改 275行 DirectoryIndex index.html => DirectoryIndex index.html index.php index.htm (我們添加了index.php index.htm)

修改 358行 ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/" => ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/" (依然一樣不用改)

修改 374行 <Directory "c:/Apache24/cgi-bin"> => <Directory "c:/Apache24/cgi-bin"> (依然一樣不用改)

在C:Apache24confhttpd.conf 最後一行添加

LoadMole php5_mole "c:/php55/php5apache2_4.dll" (這里與你下載的包有關)
AddType application/x-httpd-php .php .html .htm (注意.php .html .htm之間的空格)
PHPIniDir "c:/php55" (與自己的php安裝目錄一致)

3.安裝

打開cmd,注意WindowsServer2012中的PowerShell與cmd還是有區別的,快捷鍵win+X 選擇打開cmd

進入c:Apache24bin (你的Apache安裝目錄)

執行 httpd -k install(用PowerShell 無法執行這個命令)

4. 進入c:Apache24bin (你的Apache安裝目錄)

雙擊運行 ApacheMonitor.exe

不出意外,這時右下角已經有Apache的圖標了,在自己的伺服器雲主機上從瀏覽器 訪問 localhost:8080 以及 IP:8080 都可以發現成功了。

可能錯誤分析:

1. 右下角Apache面板顯示 no services installed。說明Apache沒有安裝成功。

2. 伺服器上鍵入 localhost:8080 以及 ip:8080 無法顯示。說明httpd.conf 配置錯誤

3. 伺服器上可以通過ip:8080 訪問 外網不能訪問。說明8080埠沒有開放。你可以在cmd裡面利用 netstat -ano查看埠開啟情況。

但是通過外網來訪問伺服器 IP:8080 去發現無法連接。這是因為默認的8080埠沒有打開。步驟如下:

阿里雲WindowsServer2012打開8080埠方法:

1、進入控制面板 選擇防火牆,選擇高級設置

2. 左側選擇入站規則,右側點擊新建規則

3. 選擇 埠

4. 選擇TCP 下面特定埠填寫8080

5. 允許連接

6.

7. 完成

這時通過外網 就可以以 IP:8080 方式訪問Apache伺服器了。

閱讀全文

與php55mysqli相關的資料

熱點內容
輸解壓密碼時候壓縮文件損壞 瀏覽:399
xampp如何運行php項目 瀏覽:901
哪個app團購電影票最便宜 瀏覽:618
國外如何給信件加密 瀏覽:164
哪個看書app免費書全 瀏覽:37
用php寫一段自我介紹的代碼 瀏覽:660
安卓手機怎麼連接歐西亞 瀏覽:287
thinkpad用來編程怎麼樣 瀏覽:680
小米手機的桌面文件夾怎麼找 瀏覽:823
java棧是什麼意思 瀏覽:992
常州數控編程培訓 瀏覽:725
博客編程隨想 瀏覽:715
阿里雲伺服器怎麼弄多個ip 瀏覽:798
思科配置loopback命令 瀏覽:169
數控銑床編程圖形 瀏覽:171
編程故事課 瀏覽:833
達拉斯比洛杉磯源碼 瀏覽:651
房貸提前解壓可以嗎 瀏覽:169
php7手冊中文版下載 瀏覽:224
越南伺服器怎麼選 瀏覽:412