换成php7后连接数据库 php连接数据库失败是什么原因

php7配置oracle11g,怎么配置连接上php配置oracle非常的简单需吧php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分号,重启apache就可以了
oracle数据库建立链接,代码如下:
1换成php7后连接数据库:
$conn =
oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL
=TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =https://www.04ip.com/post/(SID=test)))");
2:
$conn = oci_connect('username','password','192.168.1.100/test');
3.Oracle 连接方法
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
完整的例子如下:
?php
$conn = oci_connect('hr', 'hr', 'orcl'); // 建立连接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT * FROM DEPARTMENTS'; // 查询语句
$stid = oci_parse($conn, $query); // 配置SQL语句换成php7后连接数据库,准备执行
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT); // 执行SQL 。OCI_DEFAULT表示不要自动commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
// 打印执行结果
print 'table border="1"';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print 'tr';
foreach($row as $item) {
print 'td'.($item?htmlentities($item):' ').'/td';
}
print '/tr';
}
print '/table';
oci_close($conn);
?
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,内容是:?php ehco phpinfo(); ?
运行后,可以看到有如下信息显示:mysqlMySQLSupportenabledActive PersistentLinks0
Active Links0
Client API version5.1.55
MYSQL_MODULE_TYPEno value
MYSQL_SOCKET/tmp/mysql.sock
MYSQL_INCLUDEno value
MYSQL_LIBSno value
通过这样的方式可以确认,php引擎已经成功加载了mysql.so扩展 。
第七步:已经生成的mysql.so 。编写php代码测试是否能连接mysql 。
一、为什么书中一般是常常是这样的顺序安装 。
先安装mysql,然后再安装php,很少看到先安装php,后安装mysql?
这样做 。是基于下面原因:安装好mysql后 。mysql.so这个模块才能生成 。记得一个细节:在安装php的时候 , 需要提供mysql的路径 。由php帮助编译生成mysql.so模块 。mysql.so这个模块是在安装好php的时候生成的 。
生成这个模块需要用到一个东西:mysql客户端 。如果先安装php,后安装mysql 。那么无法按照原来的方式(由php帮助生成mysql.so模块)挂接mysql.so 。通过实践,发现使用phpize工具生成mysql.so可以解决这个问题 。
二、实践生成mysql.so的过程 。

推荐阅读