0

我正在尝试运行一个使用 blob 存储的天蓝色应用程序。我尝试使用以下示例工具包: https ://github.com/Interop-Bridges/Windows-Azure-Sample-Kit-4-PHP/tree/master/GuestBookUsingBlobs (我更改了 index.php 中的存储帐户和密钥)

所以我的问题是,在我将它部署到天蓝色后,我得到 500 个内部服务器错误,但是在 localhost 上它工作正常!

怎么了?谢谢!

(一个简单的 phpinfo() 文件在 azure 中也可以正常工作)


    <?xml version="1.0"?>
<configuration>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
       <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true"/>
    <defaultDocument>
      <files>
        <clear/>
        <add value="index.php" />
      </files>
    </defaultDocument>
    <staticContent>
      <remove fileExtension=".svg" />
      <remove fileExtension=".eot" />
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".svg" mimeType="image/svg+xml"  />
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
      <mimeMap fileExtension=".woff" mimeType="application/x-woff" />
    </staticContent>
  </system.webServer>
  <system.web>
    <customErrors mode="Off"/>
    <compilation debug="true"/>
</system.web>
</configuration>

以上更改的 web.config

我用这个进行部署:http ://rhizohm.net/irhetoric/post/2011/04/18/How-To-Do-PHP-Deployment-To-Windows-Azure.aspx

4

1 回答 1

0

根据您上面提供的内容,我猜:

  1. 您有一个示例网页 (xyz.php),其中只有 phpinfo(),它运行良好。这表明您的角色确实正确配置了 PHP。
  2. 但是,具有直接与 Azure Blob 存储连接的代码的 index.php 无法正常工作。

要开始调查,我会说 500 Internal Server Error 是一个非常普遍的错误,使用此错误进行调查的机会很小。这里有几件事要检查你的代码:

  • 您在代码中使用的是绝对路径还是相对路径?请检查 index.php 和提交表单操作的位置,请确认您确实有正确的相对路径,因为在 Azure VM 上,绝对路径将不起作用
  • 在 PHP.ini 中使用 display_errors=On 显示启用的 PHP 错误
  • 请使用此链接在您的代码中添加自定义错误消息如何查看 Azure fastCGI 上的实际错误?
  • 如果您能够 RDP 到您的 Azure VM,请直接在 Azure VM 实例上登录并调试 PHP 代码
  • 最后,如果您需要 RCA 的帮助来解决您的问题,请通过下面的链接联系 Azure 支持团队(24x7 通过网络或电话),他们将能够访问您的实例(在您的许可下)并为您提供根本原因。

https://support.microsoft.com/oas/default.aspx?gprid=14928&st=1&wfxredirect=1&sd=gn

联系 Azure 支持时,请提供您的订阅 ID、部署 ID、您的 Azure 真实帐户 ID 和您的问题的简短描述。

于 2012-04-30T16:19:13.723 回答