導航:首頁 > 編程語言 > 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相關的資料

熱點內容
學習程序員的要求 瀏覽:821
星辰大海劉濤主演哪個app播出 瀏覽:69
戰爭與秩序國際服怎麼看伺服器 瀏覽:917
哪個app教兒童連讀技巧 瀏覽:1001
c語言怎麼編譯軟體 瀏覽:629
linux常用命令編程 瀏覽:978
怎樣快速編譯內核 瀏覽:799
android商城app 瀏覽:98
如何查看伺服器ipv4地址 瀏覽:177
java招聘鄭州 瀏覽:560
androidbutton自適應 瀏覽:16
cad所有命令不能用 瀏覽:239
ecshop支持php7 瀏覽:89
財務數據副圖指標源碼 瀏覽:849
cmd命令查看進程 瀏覽:599
linux獲取程序路徑 瀏覽:909
源程序未被編譯 瀏覽:948
php資料庫備份類 瀏覽:147
mc手機版伺服器怎麼刷物品 瀏覽:972
linux獲取所有ip 瀏覽:43