導航:首頁 > 操作系統 > linuxphp擴展mysqli

linuxphp擴展mysqli

發布時間:2022-08-04 16:48:25

linux 已經編譯安裝好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" 保存即可

extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "mysqli.so"

6、重啟apache:# service httpd restart

㈡ linux給php加mysqli擴展 ./configure 通過,make出現錯誤 如圖,如何解

檢查apache下.httpd.conf如下設置是否正確/

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "X:/路徑/PHP-5.3.5"
LoadMole php5_mole "X:/路徑/PHP-5.3.5/php5apache2_2.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

㈢ 怎麼無法開啟mysqli 擴展

啟用mysqli擴展模塊的方法如下:
與mysql功能擴展模塊類似,mysqli介面也不是PHP的一個集成組件,如果想使用這個功能擴展模塊,需要顯示配置PHP才能使用此擴展。在 不同平台下的配置有所不同,如果在Linux平台中啟用mysqli擴展,必須在編譯PHP時加上--with-mysqli選項。如果在Windows 平台中啟用mysqli擴展,需要通過一個DLL文件提供相應的擴展。不管使用的是哪一個操作系統平台,都必須在php.ini文件里啟用這個擴展,以確 保PHP能夠找到所有必要的DLL。可以在php.ini文件中找到下面一行,取消前面的注釋,如果沒有找到就添加這樣一行:
extension=php_mysqli.dll //在php.ini文件中啟用這一行
關於配置PHP的更多信息,請參見本書第2章的環境安裝。另外,可以在PHP腳本文件中,調用phpinfo()函數檢查PHP版本是否支持mysqli介面。如果找到如圖13-1所示的結果,則所用的PHP版本中支持mysqli介面。
mysqli 擴展不僅提供了mysql模塊的所有功能,也相應地增加了一些新特性。mysqli擴展模塊包括mysqli、mysqli_result和 mysqli_stmt三個類,通過這三個類的搭配使用,就可以連接MySQL資料庫伺服器和選擇資料庫、查詢和獲取數據,以及使用預處理語句簡化了重復 執行的查詢語句。

㈣ linunx下怎麼設置php資料庫支持已安裝的mysql

到官網下載 http://httpd.apache.org/download.cgi
2
解壓 tar -zxvf httpd-2.2.22.tar.gz
3
建立目標文件夾(注意以下所有操作都時在root用戶下執行的) mkdir /usr/local/apache2 也就是說等下安裝的apache2要安裝到這個文件夾裡面
4
配置 回到原來解壓之後產生的文件夾 ./configure --prefix=/usr/local/apache2 --enable-mole=shared 要加上後面的參數,否則無法使用php,-enable-mole=shared表示Apache可以動態的載入模塊
這一步,出現了很多問題:
第一個錯誤為:
checking for APR... no configure: error: APR not found. Please read the documentation.解決方法:download the latest versions of both APR and APR-Util from Apache APR, unpack them into ./srclib/apr and ./srclib/apr-util (be sure the domain names do not have version numbers; for example, the APR distribution must be under ./srclib/apr/)
then do
./configure --with-included-apr
另外一種解決方法為:分別安裝APR和APR-util,安裝方法為:首先下載這兩個文件,然後解壓,進入解壓後目錄,然後把APR和APR-util分別安裝到/usr/local/文件夾的apr和apr-util文件夾下。APR的具體安裝方法為:[root@localhost 52lamp]# tar -zxvf apr-1.4.2.tar.gz //unzip -o apr-1.4.2.zip[root@localhost 52lamp]# cd apr-1.4.2[root@localhost apr-1.4.2]# ./configure --prefix=/usr/local/apr[root@localhost apr-1.4.2]# make[root@localhost apr-1.4.2]# make install安裝Apr-util 在./confiure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr其他步驟類似。
5
第二個錯誤為:no acceptable C compiler found in $Path直接運行 yum install gcc,安裝Gcc即可第三個問題為:pcre-config for libpcre not found解決方法就是 下載prce安裝包,和APR類似,安裝到/usr/local/pcre文件夾下面即可。PS:fedora下安裝c++編譯器g++的命令為:yum install gcc-c++ 。
6
編譯 make
安裝 make install
啟動,重啟和停止 ,先切換到安裝完成後的目錄/usr/local/apache2/bin ./apachectl -k start ./apachectl -k restart ./apachectl -k stop
配置文件(滿足最基本的配置) 編輯 /usr/local/apache2/conf/httpd.conf 文件 找到: AddType application/x-compress .Z AddType application/x-gzip .gz .tgz 在後面添加: AddType application/x-httpd-php .php(使Apcche支持PHP) AddType application/x-httpd-php-source .php5 找到: <IfMole dir_mole> DirectoryIndex index.html </IfMole> 添加: <IfMole dir_mole> DirectoryIndex index.html index.php </IfMole> 找到: #ServerName www.example.com:80 修改為: ServerName 127.0.0.1:80或者ServerName localhost:80 記得要去掉前面的「#」
7
測試 在瀏覽器里輸入http://127.0.0.1 如果出現It Works!說明成功。

8
修改默認的Web站點目錄
默認的目錄為 "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一個 /home/gyw/WebSite的目錄作為apache的站點目錄
找到DocumentRoot這一行修改為:DocumentRoot "/home/gyw/WebSite"
找到 <Directory> 這一行修改為:<Directory "/home/gyw/WebSite">
測試:修改到文件夾出現錯誤:
「You don't have permission to access /index.html on this server.」
解決方法:
更改文件許可權;chmod 755 index.html
打開apache配置文件httpd.conf,找到這么一段:<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow deny from all Satisfy all</Directory>
測試結果如下:

END
安裝PHP

1
下載 http://www.php.net/downloads.php解壓 tar -zxvf php-5.3.16.tar.gz建立目標文件夾 mkdir /usr/local/php 也就是說等下安裝的php要安裝到這個文件夾裡面
2
配置 回到原來解壓後的文件夾 ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
注意這里有一個-with-apxs2=/usr/local/apache/bin/apxs選項,其中apxs是在安裝Apache時產生的,apxs是一個為Apache HTTP伺服器編譯和安裝擴展模塊的工具,使之可以用由mod_so提供的LoadMole指令在運行時載入到Apache伺服器中。我的理解是通過這個工具把PHP模塊動態載入到Apache中
出現錯誤:configure: error: xml2-config not found. Please check your libxml2 installation.
運行yum install libxml2,然後再運行yum install libxml2-devel安裝完畢後,重新運行上面的./configure命令。
3
編譯 make 測試編譯 make test 安裝 make install
4
、配置文件
cp /usr/local/src/php-5.3.16/php.ini-development /usr/local/php/lib/php.in
把原來位於源代碼裡面的php.ini-development拷貝到/usr/local/php/lib/php.ini下,並且重命名為php.ini
重啟apache
5
測試 在apache的htdocs下建立一個php文件test.php,裡面的內容如下: <?php phpinfo(); ?> 然後在瀏覽器里輸入http://127.0.0.1/test.php 如果出現php的相關配置,成功,如果什麼都沒有輸入,說明失敗,重新以上步驟或者查找原因
如果決定在安裝後改變配置選項,只需重復最後的三步configure, make, 以及 make install,然後需要重新啟動 Apache 使新模塊生效。Apache不需要重新編譯。
測試結果如下圖:

END
安裝MySql

1
下載 到官網下載mysql-5.1.65.tar.gz(注意是源碼包)解壓 tar -zxvf mysql-5.1.65.tar.gz建立目標文件夾 mkdir /usr/local/mysql 也就是說等下安裝的mysql要安裝到這個文件夾裡面
2
配置 ./configure --prefix=/usr/local/mysql/
在./configure時出現錯誤:error: No curses/termcap library found
下載安裝相應軟體包
yum list|grep ncurses
yum -y install ncurses-devel
yum install ncurses-devel
3
編譯 make安裝 make install
4
啟動 MySQL服務並不會自動啟動,還需要先初始化MySQL資料庫,操作如下: cd /usr/local/mysql/bin sudo ./mysql_install_db --user=root 注意,這里最後的root是指可以操作資料庫的用戶,可以是當前用戶,也可以新建用戶,與linux上的root用戶是兩回事,可以自己取一個名字 ./mysqld_safe --user=root & 這條命令負責啟動mysql服務的守護進程,此外最後的&時必須的,因為希望守護進程在後台運行 這里的root就是剛才的那個
5
為根用戶創建密碼 ./mysqladmin -u root password 『123456』 如果root已經設置過密碼,採用如下方法 ./mysqladmin -u root password oldpass 『123456』
6
測試 mysql -u root -p 會提示輸入密碼,就用剛才設置的密碼 123456 如果出現mysql>,說明連接成功了,下面通過命令 創建一個資料庫、建一個表,增加一條記錄,為後面的測試准備
mysql> create database gywtest; mysql> use gywtest;
mysql> create table student(id int(4) not null primary key auto_increment,stuname char(20));
mysql> insert into student(stuname) values('Tom');
注意每條命令後面有個分號,如果上面的都成功,後面就可以用這個測試。
END
將PHP與MySql結合起來

重新配置PHP,改變配置選項,只需重復PHP安裝時的最後的三步configure, make, 以及 make install,然後需要重新啟動 Apache 使新模塊生效,Apache不需要重新編譯。
配置
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/local/mysql/bin/mysql_config 注意mysql_config 的路徑編譯 make
安裝 make installe
測試 寫一個頁面test.php,放在apache的web目錄下,測試上面用命令創建的資料庫
<?php $mysqli=new mysqli(); $mysqli->connect('localhost','root','123456','gywtest'); // 創建查詢 $sqlstr='select * from student'; //發送查詢給MySql $result=$mysqli->query($sqlstr); while($row=$result->fetch_object()) { $name=$row->stuname; echo $name; }?>
Fatal error: Class 'mysqli' not found in /home/lufangtao/Project/DB.php on line 3
解決方法:
/usr/local/php/bin/phpize 這里回車運行
出錯:
Cannot find config.m4. Make sure that you run './phpize' in the top level source directory of the mole
解決方法:
PHP源碼包文件夾下的EXT文件夾就是放置著目前版本的可用擴展,CD進去看看都有哪些你需要的?應該看到mysqli文件夾了吧~~~
在當前目錄下執行phpize
[root@localhost mysqli]#/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Modeule Api No: 20090626
Zend Extension Api No: 220090626
Cannot find autoconf. Please check your autoconf installation and the$PHP_AUTOCONF environment variable. Then, rerun this script.
解決方法:
yum install autoconf再次運行上面的命令即可。
[root@localhost mysqli]#./configure –prefix=/opt/mysqli –with-php-config=/opt/php/bin/php-config –with-mysqli=/opt/mysql/bin/mysql_config
[root@localhost mysqli]#make
[root@localhost mysqli]#make install
安裝完成後會有提示擴展所在目錄路徑,如:
/opt/php/lib/php/extensions/no-debug-zts-20090626php
所需的mysqli.so便會在此目錄下,接下來修改/opt/php/etc/下的php.ini文件,加入mysqli擴展,即加入如下一行:
extension=/opt/php/lib/php/extensions/no-debug-zts-20090626/mysqli.so
4
安裝完成!

㈤ linux系統 安裝php擴展mysqli 出現錯誤make: *** [mysqli.lo] 錯誤 1

沒遇到過這樣的問題,不能yum安裝嗎?
像是版本不兼容問題導致,介紹下系統版本、php版本、mysql版本、安裝方法,看這邊是否有環境試下。

㈥ linux 下php-fpm怎麼安裝mysqli擴展

先安裝mysql,然後在配置php-fpm裡面的資料庫用戶密碼和ip就ok了。

㈦ 如何在php中擴展mysqli插件。

Mysqli是php5之後才有的功能,沒有開啟擴展的可以打開php.ini的配置文件
查找下面的語句:;extension=php_mysqli.dll將其修改為:extension=php_mysqli.dll即可。
相對於mysql有很多新的特性和優勢
(1)支持本地綁定、准備(prepare)等語法
(2)執行sql語句的錯誤代碼
(3)同時執行多個sql
(4)另外提供了面向對象的調用介面的方法。

㈧ linux下的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" 保存即可

extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "mysqli.so"

6、重啟apache:# service httpd restart

㈨ PHP使用mysqli擴展連接MySQL資料庫

1.面向對象的使用方式
$db
=
new
mysqli('localhost',
'root',
'123456',
'dbname');
如果建立連接時未指定資料庫則選擇使用的資料庫,切換使用的資料庫
$db->select_db('dbname');
$query
=
"SELECT
*
FROM
user
WHERE
uid=4";
$result
=
$db->query($query);
$result_num
=
$result->num_rows;
$row
=
$result->fetch_assoc();
//返回一個關聯數組,可以通過$row['uid']的方式取得值
$row
=
$result->fetch_row();
//返回一個列舉數組,可以通過$row[0]的方式取得值
$row
=
$result->fetch_array();
//返回一個混合數組,可以通過$row['uid']和$row[0]兩種方式取得值
$row
=
$result->fetch_object();
//返回一個對象,可以通過$row->uid的方式取得值
$result->free();
//釋放結果集
$db->close();
//關閉一個資料庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接
當進行INSERT、UPDATE、DELETE操作時,使用$db->affected_rows查看影響行數
2.面向過程的使用方式
$db
=
mysqli_connect('localhost',
'root',
'123456',
'dbname');
如果建立連接時未指定資料庫則選擇使用的資料庫,切換使用的資料庫
mysqli_select_db($db,
'dbname');
查詢資料庫
$query
=
"SELECT
*
FROM
user
WHERE
uid=4";
$result
=
mysqli_query($db,
$query);
$result_num
=
mysqli_num_rows($result);
返回一行結果
$row
=
mysqli_fetch_assoc($result);
//返回一個關聯數組,可以通過$row['uid']的方式取得值
$row
=
mysqli_fetch_row($result);
//返回一個列舉數組,可以通過$row[0]的方式取得值
$row
=
mysqli_fetch_array($result);
//返回一個混合數組,可以通過$row['uid']和$row[0]兩種方式取得值
$row
=
mysqli_fetch_object($result);
//返回一個對象,可以通過$row->uid的方式取得值
斷開資料庫連接
mysqli_free_result($result);
//釋放結果集
mysqli_close($db);
//關閉一個資料庫連接,這不是必要的,因為腳本執行完畢時會自動關閉連接
當進行INSERT、UPDATE、DELETE操作時,使用mysqli_affected_rows()查看影響行數

閱讀全文

與linuxphp擴展mysqli相關的資料

熱點內容
拓本pdf 瀏覽:74
2017法碩指南pdf 瀏覽:286
linuxphp命令參數 瀏覽:416
可靠性預測和推薦演算法 瀏覽:852
程序員送女友的相冊 瀏覽:254
壓縮文件怎麼設置打開加密 瀏覽:768
tracert命令結果詳解 瀏覽:360
唯賽思通用什麼APP 瀏覽:375
古玩哪個app好賣 瀏覽:148
u盤內容全部顯示為壓縮包 瀏覽:519
編譯固件時使用00優化 瀏覽:359
速借白條app怎麼樣 瀏覽:759
用紙張做的解壓東西教程 瀏覽:16
求圓的周長最快演算法 瀏覽:192
安卓熱點怎麼減少流量 瀏覽:272
北京代交社保用什麼app 瀏覽:858
第一眼解壓視頻 瀏覽:726
文件夾err是什麼 瀏覽:101
qt4編程pdf 瀏覽:574
區域網伺服器下如何連續看照片 瀏覽:258