导航:首页 > 操作系统 > 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相关的资料

热点内容
安卓是世界上多少个程序员开发 浏览:41
解压器官方免费 浏览:85
单片机p10开发 浏览:486
做什么app赚钱 浏览:83
博途编译失败联系客户支持部门 浏览:926
金蝶旗舰版编译 浏览:50
万象服务器断电后启动不了怎么办 浏览:356
我的世界苹果版的2b2t服务器地址咋查 浏览:95
xlsx转换pdf 浏览:98
3dmax挤出命令英语 浏览:903
靶心率的定义和算法 浏览:514
3d模术师app哪里下载 浏览:474
php中文api文档 浏览:458
安卓设计怎么加入输入框 浏览:185
主根服务器什么时候开始 浏览:738
奇门遁甲完整版pdf 浏览:904
app软件怎么用的 浏览:802
电子书pdf购买 浏览:194
浪潮服务器如何做系统 浏览:112
冒险岛img格式加密 浏览:598