PHP与Oracle数据库的连接

PHP与Oracle数据库的连接,php,database,oracle,crm,Php,Database,Oracle,Crm,我目前正在尝试编写一个PHP脚本来连接到Oracle数据库。我之所以使用PHP,是因为我需要将Oracle数据库与当前的CRM系统(用PHP/MySQL编写)连接起来 PHP托管在1&1托管上,这是一个外部服务器。我读到我需要启用扩展php_oci8.dll以使用oci_connect()进行连接,但我不能这样做,因为我没有根权限。进行了搜索,但也找不到DLL 还有别的办法吗?非常感谢您的帮助,如果您需要更多信息,请告诉我。谢谢 1)1&1将使用Linux,因此您必须使用Linux名称进行扩展。

我目前正在尝试编写一个PHP脚本来连接到Oracle数据库。我之所以使用PHP,是因为我需要将Oracle数据库与当前的CRM系统(用PHP/MySQL编写)连接起来

PHP托管在1&1托管上,这是一个外部服务器。我读到我需要启用扩展php_oci8.dll以使用oci_connect()进行连接,但我不能这样做,因为我没有根权限。进行了搜索,但也找不到DLL

还有别的办法吗?非常感谢您的帮助,如果您需要更多信息,请告诉我。谢谢

1)1&1将使用Linux,因此您必须使用Linux名称进行扩展。在这种情况下,扩展名将是
php\u oci8。因此

2) 在根目录中创建
php.ini
,并放置以下行
extension=php\u oci8.so

3) 创建一个简单的php脚本,用一行代码测试它是否有效:

请注意--1和1可能在其服务器上没有该文件(或该扩展可能需要的一些附加库)。如果问题仅仅是缺少.so文件,那么您可以提供您自己的版本(上传它并将正确的完整路径放到php.ini中)


有用的链接:1)2)

根据您的问题。首先,linux不支持.dll文件。 您必须在Apache服务器中安装OCI8扩展模块。 按照此链接获得简单的解决方案


请检查是否没有空格。 1.将php.ini和php_oci8.so放在运行访问数据库的php程序的同一文件夹中。 2.php.ini内容应如下所示:

extesion=./php_oci8.so

1和1中似乎没有可用的php_oci8.so扩展。我在php.ini中添加了一行:
extension=php_oci8.so
,并运行了phpinfo(),但没有显示在那里。平心而论,我还运行了扩展名_loaded(),但它也失败了。在哪里可以找到这个php_oci8.so文件?我试过谷歌,但找不到。我需要root权限才能将文件作为包安装吗?感谢您的帮助:)好吧,您可以自己编译它,或者从已经编译好的PHP安装包中获取它(对不起,我不是linux用户)。但我建议先联系1&1,通常他们很擅长回答问题,至少他们可以告诉你他们是否可以在这里提供帮助(提供专门为他们的机器编译的文件),或者根本不可能。我上面的回答只是一般的方法,如果你有所有必要的文件,它肯定会起作用。打电话给1&1,似乎我需要一个具有根访问权限的专用服务器,并自己配置php_oci8。。我希望这不是唯一的选择。您知道Oci8是否是连接PHP和Oracle的唯一方法吗?感谢您的帮助:)如果您查看标准PHP配置文件(PHP.ini),它有3个本机选项:1)PHP_oci8(与Oracle 10gR2即时客户端一起使用);2) php_oci8_11g(与Oracle 11g即时客户端一起使用);3) php_pdo_oci(与pdo一起使用)。但由于Oracle是用于共享主机的特定数据库,我怀疑您是否会轻易找到默认提供这些数据库的主机。如果使用专用服务器太贵,可以看看虚拟服务器——它仍然只是您的服务器,但通常更便宜(不像共享主机那么贵,但可能只有专用服务器的一半——这取决于具体情况)。