当前位置:首页 » 编程语言 » phpoci扩展安装

phpoci扩展安装

发布时间: 2022-11-27 22:48:24

1. 如何配置php中的php.ini-development文件

如何配置php中的php.ini-development文件
首先将下载好的php安装包解压,打开文件夹

找到php.ini-development配置文件,重要的一步的是将文件改名字,改成php.ini

用类似Editplus的编辑器打开文件,用记事本打开可能格式会乱掉,

然后找到; extension_dir = "./"; On windows:; extension_dir = "ext"
改成; extension_dir = "./"; On windows:extension_dir = "E:/Apache Group/PHP/ext"
增加php的拓展功能(拓展功能都在ext目录下面)

找到; http://php.net/short-open-tagshort_open_tag = Off中的Off改成On,表示支持短标签

找到;extension=php_fileinfo.dll;extension=php_gd2.dll;extension=php_gettext.dll;extension=php_gmp.dll;extension=php_intl.dll;extension=php_imap.dll;extension=php_interbase.dll;extension=php_ldap.dll;extension=php_mbstring.dll;extension=php_exif.dll ; Must be after mbstring as it depends on it;extension=php_mysql.dll;extension=php_mysqli.dll;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client;extension=php_openssl.dll;extension=php_pdo_firebird.dll;extension=php_pdo_mssql.dll;extension=php_pdo_mysql.dll;extension=php_pdo_oci.dll;extension=php_pdo_odbc.dll;extension=php_pdo_pgsql.dll;extension=php_pdo_sqlite.dll;extension=php_pgsql.dll;extension=php_pspell.dll;extension=php_shmop.dll根据要求打开相应的功能,比如要连接数据库的,可以将;extension=php_mysql.dll和;extension=php_mysql.dll前面的分号去掉,表示启用相关功能

设置时区,
;date.timezone =改为date.timezone = Asia/Shanghai

2. php怎么始终连接不上ORACLE啊,有谁能帮帮我啊,phpinfo也显示支持oci8,oracle版本为9.2.0.1.0

我曾经装过10G的php连接ord。
程序运行必须步骤如下
1.安装orl client

2.修改php.ini,打开php_oci.dll等扩展dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_oci8.dll
extension=php_oracle.dll
<?php
@header("Content-Type: text/html; charset=gb2312");

$conn = oci_connect('name', 'pass', 'ordclientdbname','ZHS16GBK');//SIMPLIFIED CHINESE_CHINA.ZHS16GBK AMERICAN.UTF8
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}

$query = 'SELECT * FROM taobaogoods';

$stid = oci_parse($conn, $query);
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}

$r = oci_execute($stid, OCI_DEFAULT);
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}

print '<html><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><body><table border="1">';
$i =0;
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';

foreach($row as $item) {
// if($i ==3)echo "<script> alert('$item');</script>";

print '<td>'.($item ? $item:'').'</td>';
//print '<td>'.($item ? iconv('utf-8','gb2312',htmlentities($item)):'').'</td>';
}
$i++;
//exit;
print '</tr>';
}
print '</table></body></html>';

oci_close($conn);
exit;

3. php版本是5.6.23,扩展oracle数据库php_oci_12c.dll时发现无法定位程序输入点OCIStmtGetNextResult

1、DLL版本和PHP对不上
2、把这个DLL复制到c:\windows\system32里

4. 为什么不能运行php,缺少oci.dll文件是什么回事

dll文件一般被存放在C:\Windows\System目录下。电脑系统文件因经常会受到病毒的侵扰,导致系统文件、dll文件等丢失、损坏,一些包括游戏在内的应用程序无法启动。
解决方法有:
1、用Windows系统盘功能进行文件修复;
2、若在此之前有一键备份过,可以重新还原;
3、从网上下载系统文件然后覆盖到原文件夹里;
4、由于从网上下载系统文件,可能会因为系统文件版本与操作系统不相符造成系统文件不兼容的情况,修复系统文件最好使用专业的工具进行一键修复。
5、可以用腾讯电脑管家修复下。打开电脑管家——电脑诊所——软件问题——缺少dll文件。

5. PHP安装好以后,为何老是提示找不到驱动

问题出在你没有将PHP配置文件中各个驱动前面的注释分号去掉。
在系统中搜索php.ini文件(通常应该在windows目录下,或者在你所安装的PHP目录下,根据安装时的不同,也可能在system32目录下)找到这个文件,用记事本打开它,然后找到一大堆“extension=XXXXX”处,如果你是完全安装的话,那所有驱动都应该已经有了,那就将每句前面分号去掉,重启机子即可;如果你知道自己要用哪些驱动,也可以只将自己要用的驱动前面的分号去掉即可。改完之后应该是这样的:
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_curl.dll
extension=php_dba.dll
extension=php_dbase.dll
extension=php_exif.dll
extension=php_fdf.dll
extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_ifx.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_msql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8.dll
extension=php_openssl.dll
extension=php_oracle.dll
extension=php_pgsql.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_sybase_ct.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
extension=php_zip.dll
extension=php_pdf.dll

建议你去掉注释号之后将此文件还是放到windows目录下而去好一些,尽量不要放在PHP安装目录下,这样系统加载相应驱动之时,能够快速找到。同时,也可以防止因为你自己忘记在系统环境变量中设置安装目录为环境变量,而造成的莫名其妙的错误~~

6. mac os x 可以安装什么数据库

Mac OS X 现在是 Oracle 数据库的正式支持平台;使用本指南安装您自己的开发工作站
Oracle 在 7 月份发表了声明,已经可以下载用于 Mac OS X 的 Oracle 数据库 10g 试用版本了。下面的指南将帮助您安装一个开发工作站,该工作站使用 Oracle 数据库,支持 OCI 编译的 PHP,并具有效率更高的 SQL*Plus 绕接器。
前提条件
您需要一个运行最新版本 Mac OS X“Panther”(截止到本文编写时为 10.3.4 版本)的 Mac,安装了 XCode 1.1 或更高版本,以及一个管理员帐户。安装程序和数据库将在客户机版本运行,但是 Oracle 只支持该操作系统的服务器版本。Mac 至少应具有 512MB 内存,5GB 可用硬盘空间。
您应该熟悉在 Unix shell 环境,并且熟悉通过 sudo 运行管理命令。下面的说明将使用 bash shell 语法,因为这是 Panther 中新帐户的默认 shell。
如果您尚未将 XCode 更新到版本 1.2,则还需要从 Apple Developer Connection 网站下载 gcc 套件的更新,并安装该更新。前往 http://connect.apple.com/,登录或注册一个新帐户。登录之后,在该页左侧选择“Download Software”链接。然后选择“Developer Tools”,下载“Dec 2003 gccLongBranch Tools”。单击下载的文件,然后按照说明安装该更新。
最后,您需要下载 Oracle 数据库以及 PHP 4.3.8 的源代码。请注意,Oracle 数据库文件相当大 (575MB),可能需要一段时间才能下载完。
使用入门
10g 试用版附带了有帮助的文档,通过 Oracle Universal Installer 安装的,因此应首先解压缩下载的文件。打开一个终端窗口,进入下载文件所在的目录(可能是 ~/Desktop 或 ~/Documents),执行下列命令:

$ ls MAC_DB_SERVER*

如果文件最后的扩展名为 .cpio.gz,则请运行下列命令将其解压缩。如果它最后为 .cpio,则说明您的浏览器已经对该文件进行了解压缩,您可以跳过下一步骤。
$ gunzip MAC_DB_SERVER.cpio.gz

接下来,从 cpio 存档解压缩安装磁盘(您可以在 -idm 之后添加 v 以便在解压缩时看到文件列表)。
$ cpio -idm < MAC_DB_SERVER.cpio

您将位于一个名为 Disk1 的目录中。要在默认 Web 浏览器中阅读该文档,请运行下列命令:
$ open Disk1/doc/unixdoc/index.htm

单击“Quick Installation Guide for Apple MAC OS X”链接。虽然从名称上看是快速安装指南,但实际上这是一个详细的指南,介绍了准备系统以及运行 Oracle Universal Installer 涉及的所有步骤。如果您以前从未安装过 Oracle,或者使用下面的说明遇到了问题,则请花些时间通读此指南。我还会在下面说明的各阶段告诉您参考该指南的一些章节以了解更多详细信息。
虽然该指南建议以 root 用户通过 su - root 运行 shell,但是在 Mac OS X 上,默认情况下并不会启用 root 用户,该命令会提示您输入一个并不存在的密码。您可以通过 sudo 使用 root 权限运行命令(如sudo command),也可以使用 sudo su - 通过 sudo 启动一个 root shell。
准备系统
数据库应该由专用用户帐户安装和运行,该帐户通常名为 oracle。如果您已经安装了 9iR2 开发人员版本(请参阅我以前的文章),则可能在系统上已经具有了 oracle 帐户。请参阅 Quick Installation Guide 上的“Create Required Unix groups and user”部分来创建或更新 oracle 用户以及 OSDBA 和 Oracle Inventory 组。您可以通过运行下列命令进行检查,以确定是否已经正确配置该用户:
$ id oracle
uid=1521(oracle) gid=1523(oinstall) groups=1523(oinstall), 80(admin), 1521(dba) [[should be only one line]]

如果您看到一个如上所示的组列表,则说明您的 oracle 用户可以执行安装了。请注意,您在组列表中看到的 uid、gid 数字可能有所不同。
接下来,您需要决定在哪里存放数据库应用程序和数据文件。因为此安装是用于开发人员系统的,所以为了简单起见,我选择了放弃 Oracle 的最佳灵活体系结构。打开另一个终端窗口,输入下列命令:
$ sudo su - oracle
$ mkdir 10gEAR2

此命令将以 oracle 用户启动一个 shell,并创建 /Users/oracle/10gEAR2 目录,该目录将用作此安装的 $ORACLE_BASE。如果计算机具有多个磁盘,则可能还希望在另外一个磁盘上创建一个存放数据文件的目录。Oracle 建议将应用程序和数据文件分开以获得最佳性能。
接下来,您需要检查几个内核参数,确保这些内核参数已设置为 Oracle 的推荐值或比这些值还高。有关详细信息,请参阅 Quick Install Guide 的“Configure Kernel Parameters”部分。例如,在我的系统上,除了两个参数之外,其他参数均设置为推荐值,因此我使用管理员帐户切换回该终端,然后更改了这两个参数,如下所示:
$ sudo sysctl -w kern.maxproc=2068
$ sudo sysctl -w kern.maxprocperuid=2068

为了确保在重新启动之后能够保持这些更改,我在 /etc/sysctl.conf 文件中添加了下面两行内容:
$ cat /etc/sysctl.conf
kern.maxproc=2068
kern.maxprocperuid=2068

接下来,您需要确保 shell 限制设置得足够高。Quick Install Guide 建议编辑 /etc/rc 文件以及 /System/Library/StartupItems/IPServices/IPServices 文件。在清单 1 和清单 2 中有这些文件编辑过的版本。我建议按照下列方式替换这些内容:

$ cd /tmp
$ vi rc #将清单 1 的内容复制到此文件,确保
#删除任何前导空格
$ vi IPServices #将清单 2 的内容复制到此文件,确保
#删除任何前导空格
$ cd /etc
$ sudo cp -p rc rc.orig #备份原始文件
$ diff /tmp/rc rc #您应该只看到该指南中
#推荐的添加内容
$ sudo mv /tmp/rc rc
$ cd /System/Library/StartupItems/IPServices
$ sudo cp -p IPServices IPServices.orig #再次备份
$ diff /tmp/IPServices IPServices #确保
#唯一的区别只是这些添加内容
$ sudo mv /tmp/IPServices IPServices

如果使用编辑过的这些文件时出现问题,则可以将保存的文件重命名为原来的名称以恢复这些文件。
接下来,您需要确保可以 ping 您的主机名。首先检查该主机名:
$ hostname
您的主机名

如果看到的名称最后为 .local,则可能要将您的主机名设置为了另外一个值:
$ sudo hostname 您的主机名

为了确保在重新启动后保持该更改,请通过 sudo 编辑 /etc/hostconfig,并将“HOSTNAME=-AUTOMATIC-”一行更改为“HOSTNAME=您的主机名”。
现在检查是否可以 ping 您的主机名(如果在上一步骤中必须手动设置该主机名,则可能会失败)。
$ ping -c 1 `主机名`

如果收到“ping:unknown host 您的主机名”,则必须将您的主机名添加到 /etc/hosts 文件中。通过 sudo 编辑 /etc/hosts,将“127.0.0.1 localhost”更改为“127.0.0.1 localhost 您的主机名”。保存并重复上面的命令。您应该看到几行输出,其中包括“1 packets transmitted, 1 packets received, 0% packet loss”。
接下来,如果 /opt 目录不存在,则应该创建该目录;如果存在 /etc/oratab 文件则将其删除:
$ test !/opt && sudo mkdir /opt
$ test /etc/oratab && sudo mv /etc/oratab /etc/oratab.orig

最后,将 Disk1 目录移动到 oracle 用户主目录中,并确保它由该 oracle 用户拥有:
$ sudo mv Disk1 /Users/oracle
$ sudo chown -R oracle:oinstall /Users/oracle/Disk1

运行 Oracle Universal Installer
现在切换回正在以 oracle 用户运行 shell 的终端。启动该安装程序之前,必须配置您的环境。有关详细信息,请参阅 Quick Install Guide 的“Log In as the oracle User and Configure the oracle User's Environment”部分,但是下列命令应该能够完成此任务:
$ export ORACLE_BASE=/Users/oracle/10gEAR2 #如果您在上面选择了不同的路径,
#则请在此处使用该路径
$ export ORACLE_SID=test10g
$ umask 022
$ unset ORACLE_HOME
$ unset TNS_ADMIN

现在启动该安装程序:
$ cd Disk1
$ ./runInstaller

该安装程序是一个 java 应用程序,将引导您完成几个配置信息屏幕。在 Quick Installer Guide 中对每个屏幕和推荐的输入内容都进行了说明。我在此就不重复所有这些信息了,但是有几个步骤需要澄清一下,还有其他几个步骤,我们在其中不会使用默认值 - 如下所示。
在“Specify File Locations”屏幕上,将 Directory Path 值从 /Users/oracle/10gEAR2/OraHome_1 更改为 /Users/oracle/10gEAR2/orahome。此目录将作为 $ORACLE_HOME 目录。在“Installation Type”屏幕上,选择 Enterprise Edition,然后在“Select Database Configuration”屏幕上选择“Do not create a starter database”。您将在下一步骤中通过脚本创建、填充和配置数据库。
最后,该试用版生成的 root.sh shell 脚本具有一些错误,这些错误与几个实用程序的位置相关。将该脚本从清单 3 复制到一个新的 root.sh 文件。如果您已经为 $ORACLE_HOME 选择了另外的值,则请确保首先编辑该脚本,然后再通过 sudo 运行该脚本。您可能仍会看到一些有关 Oracle Cluster Keys 的错误 - 如果不打算安装数据库集簇,则忽略这些错误即可。安装数据库集簇不在本文讨论范围之内。
安装完成之后,您可以退出该安装程序,开始下面的部分,即创建数据库和测试您的安装。
创建数据库
将清单 4 的内容复制到一个名为 createDb 的文件。此脚本将创建 listener.ora 和 tnsnames.ora 文件,创建一个数据库,并使用示例方案填充该数据库。您可以在几个位置对该脚本进行自定义,使其适用于您的应用程序,但是默认值就足以用于测试了。执行下列命令来设置您的环境,并运行该脚本:
$ chmod +x createDb
$ export ORACLE_HOME=$ORACLE_BASE/orahome
$ export PATH=$PATH:$ORACLE_HOME/bin
$ ./createDb

根据您的硬件不同,运行该脚本最多可能需要一小时的时间,在此之后,请以该示例用户登录来测试您的安装:

$ sqlplus scott/tiger

SQL*Plus:Release 10.1.0.3.0 - Proction on Tue Jul 27 22:16:20 2004

Copyright (c) 1982, 2004, Oracle.All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Proction
With the Partitioning, OLAP and Data Mining options

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE

SQL> select count(*) from emp;

COUNT(*)
----------
14

确认数据库正确创建之后,您可以更改默认密码,加载您的应用程序,还可以随意查看该示例方案。为了将该 oracle 用户的环境配置为永久地使用这个新的数据库,请用下列内容在该 oracle 用户的主目录中创建一个名为 .bashrc.oracle 的文件:
export ORACLE_HOME=/Users/oracle/10gEAR2/orahome
export ORACLE_SID=test10g
export PATH=$PATH:$ORACLE_HOME/bin

然后,通过在 .bash_profile 中创建类似下面的一行内容,确保主 shell 初始化脚本使用此文件:
. ~/.bashrc.oracle

您还可以通过将下面几行内容复制到一个名为 oraclectl 的文件中创建一个脚本来停止和启动该数据库和侦听程序。将该文件编译成可执行文件,用“start”或“stop”作为唯一参数调用该文件。

#!/bin/sh

# 用于启动和停止该 Oracle 数据库
# 必须由 dba 组成员运行

start() {
$ORACLE_HOME/bin/sqlplus /nolog <<__EOF__
connect / as sysdba
startup
__EOF__
sleep 2
$ORACLE_HOME/bin/lsnrctl start
}

stop() {
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/sqlplus /nolog <<__EOF__
connect / as sysdba
shutdown abort
__EOF__
}

if [ -z $ORACLE_HOME ]; then
echo "You must define ORACLE_HOME" 1>&2
exit 2
fi

if [ !-d $ORACLE_HOME ]; then
echo "Unable to find $ORACLE_HOME" 1>&2
exit 2
fi

case "$1" in
'start')
start
;;
'stop')
stop
;;
*)
echo "Usage:$0 { start | stop }"
exit 2
;;
esac

exit 0

安装 PHP
首先将下载的 tar 文件复制到该 oracle 用户的主目录中。切换回正在运行您的管理员帐户 shell 的终端,运行下列命令:
$ cd ~/Desktop #或您下载的 PHP tar 文件所在的目录
$ sudo mv php-4.3.8.tar.gz ~oracle

接下来,为 oracle 用户解压缩源代码,配置并构建 PHP。在此示例中,为了连接 Oracle 我们刚刚激活了 OCI 扩展;您的应用程序可能需要附加的扩展来获得 XSLT 支持、图像操作等。运行 ./configure --help 就可以看到所有配置选项。
$ tar zxf php-4.3.8.tar.gz
$ cd php-4.3.8
$ ./configure --with-apxs --with-oci8
$ make
$ sudo make install

为了测试您的 PHP 安装,请使用下列内容创建一个 test_oci.php 文件:

<?php
$sid = 'test10g';
$home = '/Users/oracle/10gEAR2/orahome';

putenv("ORACLE_HOME=$home");
putenv("ORACLE_SID=$sid");
putenv("TNS_ADMIN=$home/network/admin");

echo "<html><head><title>Test OCI</title></head><body>\n";

// 对于 OCI 建议进行持久性连接
$conn = OCIPlogon('scott', 'tiger', $sid);
if ($conn) {
$stmt = OCIParse($conn, "SELECT TO_CHAR(SYSDATE,
'YYYY-MM-DD HH24:MI:SS') AS
datetime FROM DUAL");
if ($stmt) {
if (OCIExecute($stmt)) {
while (OCIFetchInto($stmt, $row, OCI_ASSOC)) {

7. 我的PHP编译oci模块的时候报这个错误时怎么回事呢

以扩展的形式加入,可以下载php pecl扩展,解压后,进入到对于目录,然后PHP-PATH/bin/phpize,然后就是 ./configure --with-php-config=PHP-PATH/bin/php-config 然后make,然后就会生成 so文件,到php扩展目前,再修改php.ini文件

8. win7的环境安装php的oci扩展遇到问题

使用集成包phpstudy,再菜单php扩展里面勾上oci扩展即可。看下图,扩展管理超级方便,勾上即可打开。phpstudy支持apache,iis和nginx26种组合,php任意切换。纯中文绿色解压即可。

9. oracle数据库在mac osx 10.11.1 怎么安装

10g 试用版附带了有帮助的文档,通过 Oracle Universal Installer 安装的,因此应首先解压缩下载的文件。打开一个终端窗口,进入下载文件所在的目录(可能是 ~/Desktop 或 ~/Documents),执行下列命令:

$ ls MAC_DB_SERVER*

如果文件最后的扩展名为 .cpio.gz,则请运行下列命令将其解压缩。如果它最后为 .cpio,则说明您的浏览器已经对该文件进行了解压缩,您可以跳过下一步骤。

$ gunzip MAC_DB_SERVER.cpio.gz
接下来,从 cpio 存档解压缩安装磁盘(您可以在 -idm 之后添加 v 以便在解压缩时看到文件列表)。

$ cpio -idm < MAC_DB_SERVER.cpio
您将位于一个名为 Disk1 的目录中。要在默认 Web 浏览器中阅读该文档,请运行下列命令:

$ open Disk1/doc/unixdoc/index.htm
单击“Quick Installation Guide for Apple MAC OS X”链接。虽然从名称上看是快速安装指南,但实际上这是一个详细的指南,介绍了准备系统以及运行 Oracle Universal Installer 涉及的所有步骤。如果您以前从未安装过 Oracle,或者使用下面的说明遇到了问题,则请花些时间通读此指南。我还会在下面说明的各阶段告诉您参考该指南的一些章节以了解更多详细信息。

虽然该指南建议以 root 用户通过 su - root 运行 shell,但是在 Mac OS X 上,默认情况下并不会启用 root 用户,该命令会提示您输入一个并不存在的密码。您可以通过 sudo 使用 root 权限运行命令(如 sudo command),也可以使用 sudo su - 通过 sudo 启动一个 root shell。

准备系统

数据库应该由专用用户帐户安装和运行,该帐户通常名为 oracle。如果您已经安装了 9iR2 开发人员版本(请参阅我以前的文章),则可能在系统上已经具有了 oracle 帐户。请参阅 Quick Installation Guide 上的“Create Required Unix groups and user”部分来创建或更新 oracle 用户以及 OSDBA 和 Oracle Inventory 组。您可以通过运行下列命令进行检查,以确定是否已经正确配置该用户:

$ id oracle
uid=1521(oracle) gid=1523(oinstall) groups=1523(oinstall), 80(admin), 1521(dba) [[should be only one line]]
如果您看到一个如上所示的组列表,则说明您的 oracle 用户可以执行安装了。请注意,您在组列表中看到的 uid、gid 数字可能有所不同。

接下来,您需要决定在哪里存放数据库应用程序和数据文件。因为此安装是用于开发人员系统的,所以为了简单起见,我选择了放弃 Oracle 的最佳灵活体系结构。打开另一个终端窗口,输入下列命令:

$ sudo su - oracle
$ mkdir 10gEAR2
此命令将以 oracle 用户启动一个 shell,并创建 /Users/oracle/10gEAR2 目录,该目录将用作此安装的 $ORACLE_BASE。如果计算机具有多个磁盘,则可能还希望在另外一个磁盘上创建一个存放数据文件的目录。Oracle 建议将应用程序和数据文件分开以获得最佳性能。

接下来,您需要检查几个内核参数,确保这些内核参数已设置为 Oracle 的推荐值或比这些值还高。有关详细信息,请参阅 Quick Install Guide 的“Configure Kernel Parameters”部分。例如,在我的系统上,除了两个参数之外,其他参数均设置为推荐值,因此我使用管理员帐户切换回该终端,然后更改了这两个参数,如下所示:

$ sudo sysctl -w kern.maxproc=2068
$ sudo sysctl -w kern.maxprocperuid=2068
为了确保在重新启动之后能够保持这些更改,我在 /etc/sysctl.conf 文件中添加了下面两行内容:

$ cat /etc/sysctl.conf
kern.maxproc=2068
kern.maxprocperuid=2068
接下来,您需要确保 shell 限制设置得足够高。Quick Install Guide 建议编辑 /etc/rc 文件以及 /System/Library/StartupItems/IPServices/IPServices 文件。在清单 1 和清单 2 中有这些文件编辑过的版本。我建议按照下列方式替换这些内容:


$ cd /tmp
$ vi rc #将清单 1 的内容复制到此文件,确保
#删除任何前导空格
$ vi IPServices #将清单 2 的内容复制到此文件,确保
#删除任何前导空格
$ cd /etc
$ sudo cp -p rc rc.orig #备份原始文件
$ diff /tmp/rc rc #您应该只看到该指南中
#推荐的添加内容
$ sudo mv /tmp/rc rc
$ cd /System/Library/StartupItems/IPServices
$ sudo cp -p IPServices IPServices.orig #再次备份
$ diff /tmp/IPServices IPServices #确保
#唯一的区别只是这些添加内容
$ sudo mv /tmp/IPServices IPServices

如果使用编辑过的这些文件时出现问题,则可以将保存的文件重命名为原来的名称以恢复这些文件。

接下来,您需要确保可以 ping 您的主机名。首先检查该主机名:

$ hostname
您的主机名
如果看到的名称最后为 .local,则可能要将您的主机名设置为了另外一个值:

$ sudo hostname 您的主机名
为了确保在重新启动后保持该更改,请通过 sudo 编辑 /etc/hostconfig,并将“HOSTNAME=-AUTOMATIC-”一行更改为“HOSTNAME=您的主机名”。

现在检查是否可以 ping 您的主机名(如果在上一步骤中必须手动设置该主机名,则可能会失败)。

$ ping -c 1 `主机名`
如果收到“ping:unknown host 您的主机名”,则必须将您的主机名添加到 /etc/hosts 文件中。通过 sudo 编辑 /etc/hosts,将“127.0.0.1 localhost”更改为“127.0.0.1 localhost 您的主机名”。保存并重复上面的命令。您应该看到几行输出,其中包括“1 packets transmitted, 1 packets received, 0% packet loss”。

接下来,如果 /opt 目录不存在,则应该创建该目录;如果存在 /etc/oratab 文件则将其删除:

$ test !/opt && sudo mkdir /opt
$ test /etc/oratab && sudo mv /etc/oratab /etc/oratab.orig
最后,将 Disk1 目录移动到 oracle 用户主目录中,并确保它由该 oracle 用户拥有:

$ sudo mv Disk1 /Users/oracle
$ sudo chown -R oracle:oinstall /Users/oracle/Disk1
运行 Oracle Universal Installer

现在切换回正在以 oracle 用户运行 shell 的终端。启动该安装程序之前,必须配置您的环境。有关详细信息,请参阅 Quick Install Guide 的“Log In as the oracle User and Configure the oracle User's Environment”部分,但是下列命令应该能够完成此任务:

$ export ORACLE_BASE=/Users/oracle/10gEAR2 #如果您在上面选择了不同的路径,
#则请在此处使用该路径
$ export ORACLE_SID=test10g
$ umask 022
$ unset ORACLE_HOME
$ unset TNS_ADMIN
现在启动该安装程序:

$ cd Disk1
$ ./runInstaller
该安装程序是一个 java 应用程序,将引导您完成几个配置信息屏幕。在 Quick Installer Guide 中对每个屏幕和推荐的输入内容都进行了说明。我在此就不重复所有这些信息了,但是有几个步骤需要澄清一下,还有其他几个步骤,我们在其中不会使用默认值 - 如下所示。

在“Specify File Locations”屏幕上,将 Directory Path 值从 /Users/oracle/10gEAR2/OraHome_1 更改为 /Users/oracle/10gEAR2/orahome。此目录将作为 $ORACLE_HOME 目录。在“Installation Type”屏幕上,选择 Enterprise Edition,然后在“Select Database Configuration”屏幕上选择“Do not create a starter database”。您将在下一步骤中通过脚本创建、填充和配置数据库。

最后,该试用版生成的 root.sh shell 脚本具有一些错误,这些错误与几个实用程序的位置相关。将该脚本从清单 3 复制到一个新的 root.sh 文件。如果您已经为 $ORACLE_HOME 选择了另外的值,则请确保首先编辑该脚本,然后再通过 sudo 运行该脚本。您可能仍会看到一些有关 Oracle Cluster Keys 的错误 - 如果不打算安装数据库集簇,则忽略这些错误即可。安装数据库集簇不在本文讨论范围之内。

安装完成之后,您可以退出该安装程序,开始下面的部分,即创建数据库和测试您的安装。

创建数据库

将清单 4 的内容复制到一个名为 createDb 的文件。此脚本将创建 listener.ora 和 tnsnames.ora 文件,创建一个数据库,并使用示例方案填充该数据库。您可以在几个位置对该脚本进行自定义,使其适用于您的应用程序,但是默认值就足以用于测试了。执行下列命令来设置您的环境,并运行该脚本:

$ chmod +x createDb
$ export ORACLE_HOME=$ORACLE_BASE/orahome
$ export PATH=$PATH:$ORACLE_HOME/bin
$ ./createDb
根据您的硬件不同,运行该脚本最多可能需要一小时的时间,在此之后,请以该示例用户登录来测试您的安装:


$ sqlplus scott/tiger

SQL*Plus:Release 10.1.0.3.0 - Proction on Tue Jul 27 22:16:20 2004

Copyright (c) 1982, 2004, Oracle.All rights reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Proction
With the Partitioning, OLAP and Data Mining options

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE

SQL> select count(*) from emp;

COUNT(*)
----------
14

确认数据库正确创建之后,您可以更改默认密码,加载您的应用程序,还可以随意查看该示例方案。为了将该 oracle 用户的环境配置为永久地使用这个新的数据库,请用下列内容在该 oracle 用户的主目录中创建一个名为 .bashrc.oracle 的文件:

export ORACLE_HOME=/Users/oracle/10gEAR2/orahome
export ORACLE_SID=test10g
export PATH=$PATH:$ORACLE_HOME/bin
然后,通过在 .bash_profile 中创建类似下面的一行内容,确保主 shell 初始化脚本使用此文件:

. ~/.bashrc.oracle
您还可以通过将下面几行内容复制到一个名为 oraclectl 的文件中创建一个脚本来停止和启动该数据库和侦听程序。将该文件编译成可执行文件,用“start”或“stop”作为唯一参数调用该文件。


#!/bin/sh

# 用于启动和停止该 Oracle 数据库
# 必须由 dba 组成员运行

start() {
$ORACLE_HOME/bin/sqlplus /nolog <<__EOF__
connect / as sysdba
startup
__EOF__
sleep 2
$ORACLE_HOME/bin/lsnrctl start
}

stop() {
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/sqlplus /nolog <<__EOF__
connect / as sysdba
shutdown abort
__EOF__
}

if [ -z $ORACLE_HOME ]; then
echo "You must define ORACLE_HOME" 1>&2
exit 2
fi

if [ !-d $ORACLE_HOME ]; then
echo "Unable to find $ORACLE_HOME" 1>&2
exit 2
fi

case "$1" in
'start')
start
;;
'stop')
stop
;;
*)
echo "Usage:$0 { start | stop }"
exit 2
;;
esac

exit 0

安装 PHP

首先将下载的 tar 文件复制到该 oracle 用户的主目录中。切换回正在运行您的管理员帐户 shell 的终端,运行下列命令:

$ cd ~/Desktop #或您下载的 PHP tar 文件所在的目录
$ sudo mv php-4.3.8.tar.gz ~oracle
接下来,为 oracle 用户解压缩源代码,配置并构建 PHP。在此示例中,为了连接 Oracle 我们刚刚激活了 OCI 扩展;您的应用程序可能需要附加的扩展来获得 XSLT 支持、图像操作等。运行 ./configure --help 就可以看到所有配置选项。

$ tar zxf php-4.3.8.tar.gz
$ cd php-4.3.8
$ ./configure --with-apxs --with-oci8
$ make
$ sudo make install
为了测试您的 PHP 安装,请使用下列内容创建一个 test_oci.php 文件:


<?php
$sid = 'test10g';
$home = '/Users/oracle/10gEAR2/orahome';

putenv("ORACLE_HOME=$home");
putenv("ORACLE_SID=$sid");
putenv("TNS_ADMIN=$home/network/admin");

echo "<html><head><title>Test OCI</title></head><body>\n";

// 对于 OCI 建议进行持久性连接
$conn = OCIPlogon('scott', 'tiger', $sid);
if ($conn) {
$stmt = OCIParse($conn, "SELECT TO_CHAR(SYSDATE,
'YYYY-MM-DD HH24:MI:SS') AS
datetime FROM DUAL");
if ($stmt) {
if (OCIExecute($stmt)) {
while (OCIFetchInto($stmt, $row, OCI_ASSOC)) {
//OCI_ASSOC 中的键总是大写的
echo "SYSDATE:", $row['DATETIME'];
}
}
}
}

echo "</body></html>\n";
?>

在 Mac OS X Panther 自带的 Apache httpd.conf 文件中为您启用了 PHP 支持,默认文档根目录为 /Library/Webserver/Documents。将 test_oci.php 文件复制到该文档根目录中,然后启动或者重新启动 apache:

$ sudo apachectl start
您现在可以使您的浏览器指向 http://127.0.0.1/test_oci.php,应该会看到当前的日期和时间。刷新您的浏览器若干次,观察时间变化,注意页面显示要比第一次快得多。每个 apache 子进程在使用 OCIPlogon 时都会创建一个到该数据库的持久性连接。该子进程处理的后续请求要快得多,这是因为它可以避免建立新连接的开销。

PHP 的 OCI 扩展支持许多高级的 Oracle 特性,如存储过程、连接变量和游标。有关 OCI 与 PHP 结合使用的详细信息,请参阅“资源”框中的内容。

10. linux如何开启php的oci扩展

修改php.ini 配置extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"extension = "pdo_mysql.so"extension = "oci8.so"

热点内容
听说ftpmp4 发布:2024-05-08 09:39:51 浏览:474
退货上传图片 发布:2024-05-08 09:38:38 浏览:78
linux命令安装rpm 发布:2024-05-08 09:37:37 浏览:643
什么是逆算法 发布:2024-05-08 09:28:17 浏览:208
泰康平衡配置跟行业配置哪个好 发布:2024-05-08 09:19:09 浏览:598
动态创建存储过程 发布:2024-05-08 09:19:01 浏览:52
点赞熊源码 发布:2024-05-08 08:49:44 浏览:458
压缩性胸闷 发布:2024-05-08 08:18:18 浏览:528
电脑哔哩哔哩pc端的缓存 发布:2024-05-08 08:17:05 浏览:171
王者服务器崩溃估计什么时候好 发布:2024-05-08 08:16:51 浏览:575