我是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';
它在云端完美运行。
我现在的问题是如何正确导入自动加载器?我认为云的位置不同。这是否意味着每次我在本地开发时,我必须在将它带到云端时为我的导入更改地址?
答案 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应用程序的绝佳解决方案。因此,如果您仍然遇到问题,请与我联系,我将为您提供更详细的入门指南。
祝你好运!