當前位置:首頁 » 編程語言 » php編譯安裝mysql

php編譯安裝mysql

發布時間: 2023-01-12 07:36:37

『壹』 如何在php7中安裝mysql的擴展

#解壓
tar xzvf mysql-45881bd.tar.gz
#進入mysql擴展目錄
cd mysql-45881bd/
#使用phpize初始化,我的phpize在/opt/目錄
/opt/php/bin/phpize
#編譯mysql擴展,使用mysql native driver作為mysql鏈接庫
./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd

『貳』 如何重新編譯PHP使其支持mysqli

添加擴展的基本步驟:
1、進入PHP源代碼目錄:# cd /tmp/php-5.2.14/
2、再進入要添加的mysqli擴展源碼目錄:# cd ext/mysqli/
2、調用已經編譯好的php裡面的phpize:# /usr/local/php/bin/phpize
3、然後configure:# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/MySQL/bin/mysql_config
(/usr/local/mysql 為mysql的安裝目錄)
4、make && make install
5、編譯之後,自動把mysqli.so放到了默認的php擴展目錄下,我的為 /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
(phpinfo可查看或者執行命令/usr/local/php/bin/php-config --extension-dir )
再修改php.ini 找到extension_dir 默認路徑為 extension_dir="./" 我修改後才啟動載入的
在下面添加extension = "mysqli.so" 保存即可

『叄』 nginx和php 怎麼安裝mysqli擴展

在 centos 下編譯安裝 php 時,有時候經常會忘了某些擴展,比如 pdo,mysqli,但是到擴展目錄下,我們又找不到相應的 擴展文件,(.so 文件) ,這樣的情況下只能 編譯安裝該模塊,生成對應的 so 文件,然後在 php.ini 中添加相應的 擴展記錄,重啟 php就可以了,我們以安裝 mysqli 為例。
首先進入 php 源碼包 如果 找不到可以可下載一個 地址在這里:http://us2.php.net/get/php-5.2.17.tar.gz/from/a/mirror解壓
tar xvzf php-5.2.17.tar.gz
cdphp-5.2.17/ext/mysqli/
然後運行 php 安裝目錄下的 phpize
/usr/local/nginx_php-5.2.17/bin/phpize
(根據自己的 php 安裝目錄來查找,不一定是這個目錄,如果找不到,可以根據 phpinfo() 來查看)然後編譯安裝 mysqli 擴展
#./configure --prefix=/usr/local/mysqli --with-php-config=/usr/local/nginx_php-5.2.17/bin/php-config --with-mysqli=/usr/local/mysql/mysql_config安裝
make && make install
然後在 php 的擴展目錄下已經生成了 mysqli.so 文件打開 php.ini 文件,看是否有如下內容
extension_dir = "/usr/local/nginx_php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/"如果沒有就添加上
再添加一條:
extension=mysqli.so
保存。
重啟 php。可以看到 mysqli 已經安裝完成了。

『肆』 PHP網站MYSQL資料庫如何安裝及使用

linux操作系統中安裝Mysql:
1. 從 http://www.mysql.com下載二進製版的Mysql安裝包 //這個MYSQL是二進製版的,不用編譯
2. # chmod 755 mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz
//
3. # tar xfz mysql-standard-5.0.15-linux-gnu-i686-glibc23.tar.gz //將解壓後生成的目錄,復制到/usr/local/下並改名為mysql
4. # groupadd mysql
# useradd mysql -g mysql // 建立mysql組
//建立mysql用戶並且加入到mysql組中
5. # cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
在 support-files目錄下有4個模版文件,我們選擇其中一個座位Mysql的配置文件,覆蓋/etc/my.cnf(系統默認的配置,其中設置了性能參數和Mysql的一些路徑參數)
6. # cd /usr/local/mysql
# ./scripts/mysql_install_db --user=mysql
進入mysql目錄
//初試化表並且規定用mysql用戶來訪問。初始化表以後就開始給mysql和root用戶設定訪問許可權
7. # chown -R root . //設定root能訪問/usr/local/mysql
8. # chown -R mysql data //設定mysql用戶能訪問/usr/local/mysql/data ,裡面存的是mysql的資料庫文件.這個目錄是在/etc/my.cnf中有配置,在mysql_install_db時產生。

9. # chown -R mysql data/. //設定mysql用戶能訪問/usr/local/mysql/data/mysql下的所有文件

10. # chgrp -R mysql . //設定mysql組能夠訪問/usr/local/mysql
11. # /usr/local/mysql/bin/mysqld_safe --user=mysql &
運行mysql
如果沒有問題的話,應該會出現類似這樣的提示:
[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
如果出現 mysql ended這樣的語句,表示Mysql沒有正常啟動,你可以到log中查找問題,Log文件的通常在/etc/my.cnf中配置。大多數問題是許可權設置不正確引起的。
12. 用如下命令修改MYSQL密碼
# /usr/local/mysql/bin/mysqladmin -u root password yourpassword //默認安裝密碼為空,為了安全你必須馬上修改.

13. # cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 700 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on //編譯目錄的一個腳本
//設置使mysql每次啟動都能自動運行
14. # service mysqld start
# netstat -atln
//啟動mysqld服務
//查看3306埠是否打開。要注意在防火牆中開放該埠。 詳細請看 http://www.it596.com/html/08/n-408.html
http://www.it596.com/html/55/n-955.htmlwindows操作系統下面 查看Apache+php+mysql在windows下的安裝與配置圖解 http://www.it596.com/html/08/n-5608.html

『伍』 如何在PHP7中安裝mysql的擴展

你好,

1.去php網站上下載mysql擴展,
2.解壓並使用phpize工具初始化,編譯:
#解壓
tar xzvf mysql-45881bd.tar.gz
#進入mysql擴展目錄 from
cd mysql-45881bd/
#使用phpize初始化,我的phpize在/opt/目錄
/opt/php/bin/phpize
#編譯mysql擴展,使用mysql native driver作為mysql鏈接庫
./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd
make && make install
3.接下來,我們直接編輯php.ini文件,把mysql.so拷貝到php.ini的extension_dir中,然後在php.ini中加入extension=mysql.so
4.重啟php
成功之後,用phpinfo即可看到mysql擴展的信息

『陸』 LINUX下如何編譯PHP才能支持RPM安裝的MYSQL

1.在php的原碼安裝包里,進入到etc/pdo_mysql里。假設你的php是安裝在/usr/local/php里的。執行/usr/local/php/bin/phpize

2. 進行編譯。./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql (假設你的mysql是安裝在/usr/local/mysql)

3.編譯安裝。make,make install。

4.到了第3步的時候。在/usr/local/php/lib/php/extensions里就會多了個no-debug-non-zts-20050922文件夾,它裡面就生成了一個pdo_mysql.so

5.修改php.ini,加入擴展語句extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/pdo_mysql.so"

6.重啟apache。OK擴展完成

7.安裝pdo的方法與pdo_mysql的方法一樣.但是要注意在這個安裝過程中如果系統沒有aclocal命令,那麼請先安裝這個命令,這個命令在autoconf包里。

『柒』 PHP下使用mysqli的函數連接mysql出現warning: mysqli::real_connect(): (hy000/1040): ...

背景:把mysql換成mysqli時出現,連接數過多,其實際上並不是,原因是我挪動了一下php的sock文件位置導致,因這幾個socket修改沒有修改完全,於是出現了too
many
connections
,從mysql里show
processlist並沒有發現真的有連接,其實用tshark抓下包估計能看到(http://justwinit.cn/post/7458/),並沒有發出請求,而估計是mysqli的客戶端自己報出來的,別看這個問題小,搞了老半天,都想重新安裝Php了,發現原來是路徑寫錯了同時mysqli的客戶端提示連接數過多的誤提示導致方向走錯了。如下:
[root@iZ25z0ugwgtZ
etc]#
grep
-r
"mysql.sock"
./
./php.ini:pdo_mysql.default_socket=/data/runsock/mysqlsock/mysql.sock
./php.ini:;mysql.default_socket
=
/tmp/mysql.sock
./php.ini:mysql.default_socket
=
/data/runsock/mysqlsock/mysql.sock
./php.ini:mysqli.default_socket
=
/data/runsock/mysql.sock
//這個位置被挪動到,/data/runsock/mysqlsock/mysql.sock導致。
修改後記得重啟動php-fpm:
[root@iZ25z0ugwgtZ
etc]#
service
php-fpm
restart
Gracefully
shutting
down
php-fpm
.
done
Starting
php-fpm
done
______________________排查要點如下_______________________________
warning:
mysqli::real_connect():
(hy000/1040):
too
many
connections
in:
出現場景
:手動編譯安裝mysql,並制定安裝位置,php以localhost方式連接mysql
原因分析
:手動編譯安裝制定位置後所有的mysql文件都在制定的目錄或者data目錄下面,php默認只會尋找/temp/mysql.sock找這個sock文件,所以會導致sock文件無法找到。
解決方法

1.給sock文件做個軟鏈
ln
-s
/data/mysqldb/mysql.sock
/tmp/mysql.sock;
或者
2.修改php的默認mysql.sock連接地址
mysql.default_socket=/data/mysqldb/mysql.sock
3.使用tcp
socket的方式進行連接
mysql('127.0.0.1','username','passwod');
下面給大家介紹PHP
mysql_connect()
函數
定義和用法
mysql_connect()
函數打開非持久的
MySQL
連接。
語法
mysql_connect(server,user,pwd,newlink,clientflag)
參數
描述
server
可選。規定要連接的伺服器。
可以包括埠號,例如
"hostname:port",或者到本地套接字的路徑,例如對於
localhost

":/path/to/socket"。
如果
PHP
指令
mysql.default_host
未定義(默認情況),則默認值是
'localhost:3306'。
user
可選。用戶名。默認值是伺服器進程所有者的用戶名。
pwd
可選。密碼。默認值是空密碼。
newlink
可選。如果用同樣的參數第二次調用
mysql_connect(),將不會建立新連接,而將返回已經打開的連接標識。參數
new_link
改變此行為並使
mysql_connect()
總是打開新的連接,甚至當
mysql_connect()
曾在前面被用同樣的參數調用過。
clientflag
可選。client_flags
參數可以是以下常量的組合:
MYSQL_CLIENT_SSL
-
使用
SSL
加密
MYSQL_CLIENT_COMPRESS
-
使用壓縮協議
MYSQL_CLIENT_IGNORE_SPACE
-
允許函數名後的間隔
MYSQL_CLIENT_INTERACTIVE
-
允許關閉連接之前的交互超時非活動時間
返回值
如果成功,則返回一個
MySQL
連接標識,失敗則返回
FALSE。
提示和注釋
注釋:腳本一結束,到伺服器的連接就被關閉,除非之前已經明確調用
mysql_close()
關閉了。
提示:要創建一個持久連接,請使用
mysql_pconnect()
函數。
例子
<?php
$con
=
mysql_connect("localhost","mysql_user","mysql_pwd");
if
(!$con)
{
die('Could
not
connect:
'
.
mysql_error());
}
//
一些代碼...
mysql_close($con);
?>

熱點內容
比較便宜的雲伺服器 發布:2025-07-13 18:29:59 瀏覽:406
切換ftp 發布:2025-07-13 18:29:07 瀏覽:738
銳龍哪個配置最高畫質 發布:2025-07-13 18:22:34 瀏覽:196
壓縮機工作原理圖 發布:2025-07-13 18:10:15 瀏覽:39
黑暗追求者安卓怎麼聯機 發布:2025-07-13 18:10:07 瀏覽:617
北大保安自學編程 發布:2025-07-13 18:09:58 瀏覽:858
java遞歸排列 發布:2025-07-13 18:02:43 瀏覽:473
輕量雲伺服器如何換成d盤 發布:2025-07-13 17:58:45 瀏覽:931
重置騰訊雲伺服器時間 發布:2025-07-13 17:54:55 瀏覽:326
aes256java加密 發布:2025-07-13 17:54:46 瀏覽:710