2010-11-08 94 views
2

当我在godaddy托管的zend应用程序中访问模块/控制器/操作时,我正面临以下错误。如何编辑godaddy IIS托管php.ini?

'The PDO extension is required for this adapter but the extension is not loaded' 

所以我找到了下面的文章来解决这个问题。

http://mnshankar.wordpress.com/2008/10/12/the-pdo-extension-is-required-for-this-adapter-but-the-extension-is-not-loaded/

所以现在我想编辑的php.ini文件来解决托管GoDaddy的问题,但我没有找到一种方式来获得它,并对其进行编辑。

有人可以告诉我编辑php.ini文件的步骤,或者我已经创建了我自己的项目php.ini。如果我必须创建我自己的项目的php.ini,那么我应该在哪里放置它,以及它应该包含哪些内容。

回答

3

步骤1 放置在Web根文件夹中的phpinfo,以获取有关该配置文件被加载PHP的信息,以及服务器上的PHP配置的其他细节。

<?php 
    phpinfo(); 
?> 

我们要做

基本上,你必须得到pdo extensions loaded and enabled。的步骤为其中“通常”如下:

  1. 打开php.ini
  2. 取消对线 延长= php_pdo.dll
  3. 取消对线(取决于所使用的数据库上) extension = php_pdo_mysql。DLL
  4. 重新启动Web服务器和有关重新加载页面

步骤2 对于GoDaddy的,我们并不总是对共享主机负载缺少模块权限,无法修改php.ini文件或安装和。替代方案是让我们自己的php.ini覆盖默认的php.ini。对于在php 5下的版本,这个文件被命名为php.ini,对于PHP 5.x它将需要php5.ini。要找出这个php5.ini文件的放置位置,请将一个带有以下代码的php文件放在你的web根目录下。

<?php echo dirname(__FILE__); ?> 

现在放置在Web根文件夹自己php5.ini,并reset the application pool这些更改生效。

如果你得到扩展不加载错误类型,然后通过下面的步骤如下

步骤3 我们必须place our extensions在我们步骤2想通了Web根文件夹,特别是部分它建议“的”线在php.ini中添加应指定扩展的完整路径,例如:

extension=D:\Hosting\2443908\html\extensions\php_pdo.dll 
extension=D:\Hosting\2443908\html\extensions\php_pdo_mysql.dll 

以防万一你仍然不能使用/负载PDO DL ls,您也可以尝试通过Zend mysqli adapter连接。

+0

访问所有上述链接后,我感到困惑。你能否提供一些更多的细节。 – Awan 2010-11-11 05:45:27

+0

@Awan:我现在详细阐述了我的答案,以免您访问链接。 – 2010-11-12 06:02:52

+0

我上传'php_mysqli.dll'并在** php5.ini中在zend公用文件夹中使用'extension = D:\ Hosting \ 2443908 \ html \ extensions \ php_mysqli.dll',并连接数据库。 – Awan 2010-11-12 06:36:48

3

您的托管服务提供商必须已经安装该模块。没有共享的网络托管将允许您编辑php.ini文件。您可以尝试在您的代码中使用dl函数,但我真的不认为您会成功,因为如果模块尚未加载,它很可能未安装在服务器上,因此您无法加载它。

解决方案是要求您的托管服务提供商安装该模块,或者如果他们拒绝,则更改为其他主机。

1

this是谷歌搜索“godaddy托管php.ini”的第一次打击 - 听起来像你只需要创建一个php.ini,上传它和wait some time,直到它被识别。

3

难道是因为某些原因,您正在运行的网络空间仍然在PHP 4上?

因为在PHP 5中,PDO是activated by default。我看不到像Godaddy这样的托管服务提供商禁用它。

在这种情况下,您将不得不切换到PHP 5 - 也许Godaddy软件包处于某种兼容模式。 Zend Framework根本无法在PHP 4中运行。

+0

有** PHP 5.x的**和** IIS 7.0 **运行。 – Awan 2010-11-08 10:29:31

+0

@Awan啊,解释它:它需要在Windows上的PHP.ini中取消注释。然后你需要电子邮件支持,并要求他们这样做。 – 2010-11-08 10:30:20

+0

@Pekka:是的,我必须编辑** php.ini **文件,但没有找到方法。有人问我创建我自己的php5.ini文件,在其中写入pdo扩展语句并将其上传到我的根目录,但它不起作用。可能是我错过了一些东西。根目录是主项目文件夹或应用程序文件夹还是公用文件夹是zend应用程序?邮寄给他们关于这个问题对我来说将会迟到。谢谢 – Awan 2010-11-08 10:34:26