天蓝色的php导入

时间:2012-02-21 03:30:15

标签: php azure

我是azure的新手。我正在使用azure php sdk来运行我的应用程序。到目前为止,我得到了本地机器的教程。当我尝试在云上运行它时,我收到错误。以下是详细信息:

我简单的PHP代码:

require_once('Microsoft/AutoLoader.php'); 

print 'Hello World';

此代码在本地计算机上运行良好。当我尝试在云上运行它时,我收到此错误:

Server error
The website encountered an error while retrieving http://link234235345345.cloudapp.net/. It may be down for maintenance or configured incorrectly.
Here are some suggestions:
Reload this webpage later.
HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request.

当我尝试删除这样的import语句时:

print 'Hello World';

它在云端完美运行。

我现在的问题是如何正确导入自动加载器?我认为云的位置不同。这是否意味着每次我在本地开发时,我必须在将它带到云端时为我的导入更改地址?

3 个答案:

答案 0 :(得分:0)

自动加载器应该随包一起导入。要从PHP日志中获取确切的错误(这将告诉您实际上是否存在问题),您需要为您的Web角色启用远程桌面(RDP)。

http://azurephp.interoperabilitybridges.com/articles/enable-remote-desktop

进入Web角色实例的RDP,并从PHP安装文件夹中的php.ini文件中找到php错误日志的路径。错误日志应包含确切的错误。

答案 1 :(得分:0)

很可能找不到Microsoft SDK库。根据您将其作为应用程序的一部分,库的位置可能与您的本地设置不同。

如果使用composer将SDK添加到项目中,则需要指示部署在代码更新后安装composer软件包。

在所有其他方法中,我只建议在include语句中使用null全局引用该目录:

__DIR__

我希望这会有所帮助

答案 2 :(得分:0)

Azure Web应用程序非常适合运行PHP应用程序,但是需要更多的准备工作才能使其完成您想要的所有事情。

如果您想在应用程序中使用Redis,我强烈建议您使用最新的PHP版本。您可以通过在项目路径中创建一个文件夹php/来完成此操作,在该文件夹中,您可以从https://secure.php.net/downloads.php解压缩Windows版的最新PHP。在同一文件夹中,您可以放入最新的Redis PECL扩展名,可以从http://pecl.php.net/packages/redis(DLL)下载。

您提到的Azure SDK与访问Azure上的Redis无关,它用于访问核心Azure服务,例如Blob存储,文档搜索等...

自2008年以来,我一直在Azure上成功运行PHP应用程序,并且看到它是在云中运行使用PHP构建的复杂Web应用程序的绝佳解决方案。因此,如果您仍然遇到问题,请与我联系,我将为您提供更详细的入门指南。

祝你好运!