2011-06-11 142 views
2

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

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

是否有其他解决方法?任何帮助非常感谢,请让我知道,如果你需要更多的信息。谢谢!

回答

1

1)1 & 1将有Linux,因此您将不得不使用linux名称作为扩展名。在这种情况下,扩展的名字将是php_oci8.so

2)创建在根目录下的php.ini,并把下面一行 extension=php_oci8.so

3)创建一个简单的PHP脚本一行来测试它的工作原理: <?php phpinfo(); ?>

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

有用的链接:1)http://faq.1and1.com/scripting_languages_supported/php/6.html 2)http://faq.1and1.com/scripting_languages_supported/php/8.html

+0

似乎在1&1中没有php_oci8.so扩展。我在php.ini中添加了一行:'extension = php_oci8.so',并运行了phpinfo(),但没有显示出来。可以肯定的是,我也运行了extension_loaded(),它也失败了。我在哪里可以找到这个php_oci8.so文件?我试过谷歌,但找不到它。我是否需要root权限才能将文件安装为包?感谢您的帮助:) – Shiroi98 2011-06-13 16:30:15

+0

那么,您可以自己编译它,或从已编译的PHP安装包中获取它(对不起,我不是linux用户)。但我建议首先联系1&1 - 通常他们非常擅长回答问题 - 至少他们可以告诉你他们是否可以在这里提供帮助(提供专门为他们的机器编译的文件)或者根本不可能。我上面的答案只是一般性的方法,如果你有所有必要的文件,它肯定会有效。 – LazyOne 2011-06-13 16:36:35

+0

打了一个电话给1&1,似乎我需要一个具有Root权限的专用服务器,并配置php_oci8自己..我希望这不是唯一的选择。你碰巧知道Oci8是否是PHP和Oracle之间的唯一接口?感谢您的帮助:) – Shiroi98 2011-06-13 17:44:10

0

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

extesion=./php_oci8.so