数据库安装至/opt/dmdbms 涉及配置环境变量
安装步骤忽略,自行安装
# 准备环境
# 若有报错见报错处理
[root@~]$ yum install wget –y
[root@~]$ yum install libtool
[root@~]$ yum install gcc
# 下载php
[root@~]$ wget https://www.php.net/distributions/php-7.3.12.tar.gz
# 解压php tar包
[root@~]$ tar xf php-7.3.12.tar.gz
# 进入php解压后的目录
[root@~]$ cd php-7.3.12
# 预配置
# 指定PHP的安装目录为:/root/php,并将php.ini的路径设置为/root/php
# 若有报错见报错处理
[root@~]$ ./configure --prefix=/root/php/ --with-config-file-path=/root/php
# 编译安装PHP(耗时较长)
[root@~]$ make && make install
# 设置软链接(就不用修改环境变量PATH了)
[root@~]$ ln -s /root/php/bin/php /usr/bin/php
# 创建php.ini(控制php行为)
[root@~]$ cp /root/php-7.3.12/php.ini-production /root/php/php.ini
# 检查php版本
[root@~]$ php -v
# 配置环境变量
[root@~]$ vi ~/.bash_profile
## /opt/dmdbms/bin 是数据库的bin目录
## /opt/dmdbms/drivers/php_pdo PHP拓展所在的目录
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/dmdbms/bin:/opt/dmdbms/drivers/php_pdo"
export DM_HOME="/opt/dmdbms"
[root@~]$ source ~/.bash_profile
# 修改php.ini 文件,添加以下内容
[root@~]$ cd /root/php
[root@~]$ vi php.ini
[PHP_DM]
extension_dir="/opt/dmdbms/drivers/php_pdo"
extension=libphp73_dm.so
[dm]
dm.port=5236
dm.allow_persistent = 1
dm.max_persistent = -1
dm.max_links = -1
dm.default_host = localhost
dm.default_db = dmdb
dm.default_user = SYSDBA
dm.default_user = SYSDBA
dm.connect_timeout = 10
dm.defaultlrl = 4096
dm.defaultbinmode = 1
dm.check_persistent = ON
# 验证DM php驱动模块是否加载成功
[root@~]$ php -m|grep DM
# 测试连接,添加以下内容
[root@~]$ vi php_conn.php
<?php
header("Content-type:text/html;charset=utf-8"); //防止页面乱码
try
{
$link = dm_connect("localhost:5236", "SYSDBA", "SYSDBA")
or die("Could not connect : " . dm_error()."\n");
//使用 dm_error 会显示 dm 的 php 接口返回的错误,执行成功,则继续往下执行。
print "php: Connected successfully"."\n";
/*断开连接*/
dm_close($link);
}
catch(Exception $e)
{
$e->getMessage() . "<br/>";
}
?>
# 测试php连接
[root@~]$ php php_conn.php
# 测试php增删改查,添加以下内容
[root@~]$ vi php_demo.php
<?php
header("Content-type:text/html;charset=utf-8"); //防止页面乱码
try
{
$link = dm_connect("localhost:5236", "SYSDBA", "SYSDBA")
or die("Could not connect : " . dm_error()."\n");
//使用 dm_error 会显示 dm 的 php 接口返回的错误,执行成功,则继续往下执行。
print "php: Connected successfully"."\n";
//清空表,初始化测试环境
$result = dm_exec($link, 'create table "SYSDBA"."TABLE_1"("NAME" VARCHAR2(50))') or die("Query failed : " . dm_error()."\n");
$result = dm_exec($link, 'delete from SYSDBA.TABLE_1') or die("Query failed : " . dm_error()."\n");
//插入数据
$result = dm_exec($link, "insert into SYSDBA.TABLE_1(NAME) values('语文'), ('数学'), ('英语'), ('体育')")
or die("Query failed : " . dm_error()."\n");
print "php: insert success"."\n";
//删除数据
$result = dm_exec($link, "delete from SYSDBA.TABLE_1 where name='数学'") or die("Query failed : " . dm_error()."\n");
print "php: delete success"."\n";
//更新数据
$result = dm_exec($link, 'update SYSDBA.TABLE_1 set name = \'英语-新课标\' where name=\'英语\'') or die("Query failed : " . dm_error()."\n");
print "php: update success"."\n";
//查询数据
$result = dm_exec($link, "select * from SYSDBA.TABLE_1") or die("Query failed : " . dm_error()."\n");
print "<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\">\n";
while ($line = dm_fetch_array($result))
{
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";
/*释放资源*/
dm_free_result($result);
print "php: select success"."\n";
/*断开连接*/
dm_close($link);
}
catch(Exception $e)
{
$e->getMessage() . "<br/>";
}
?>
# 测试php增删改查
[root@~]$ php php_dml.php
# 登录数据库查询
SQL> select * from SYSDBA.TABLE_1
未设置yum源导致,如下配置yum源
[root@~]$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
设置yum源报错则需要修改resolv.conf文件
--编辑文件添加以下内容
[root@~]$ vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 223.5.5.5
nameserver 223.6.6.6
#nameserver 223.5.5.5 和 nameserver 223.6.6.6选择其中一个添加即可,一般全部粘贴
[root@~]$ yum install libtool
[root@~]$ yum install libxml2-devel
报错:configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
重新下载
[root@~]$ yum install sqlite-devel
文章
阅读量
获赞