gpt4 book ai didi

php - 无法使用辅助角色在开发模拟器上部署 PHP

转载 作者:行者123 更新时间:2023-12-02 07:06:34 24 4
gpt4 key购买 nike

我使用 Eclipse 和 PHP 插件来创建和配置我的 PHP 项目,以将它们部署在 Windows Azure (WA) 上。然而,我已经安装了 WA SDK 1.7(6 月 7 日),它与 Eclipse 和插件不兼容,所以我不得不使用 commando。我决定在 Eclipse 中创建项目(具有 Web 角色和辅助角色),并尝试运行以下命令来重新创建 cscfg 文件和 .csx 文件夹,然后在计算模拟器上运行它...

 cspack ServiceDefinition.csdef /generateConfigurationFile:ServiceConfiguration.cscfg /copyonly

...但它会生成以下错误...

Error : CloudServices38 : The entrypoint dll is not defined for worker role MyPhpProj_MyWorkerRole.

感谢您的建议。

最佳答案

在 Web 和 Worker 角色中,您确实需要提供角色入口点或程序入口点。我知道在自定义辅助角色中没有辅助角色 DLL,但是您可以使用 PHP.EXE 或 Java.exe 或 Nodejs.exe 作为 ProgramEntryPoint。

解决此问题的方法是将 ProgramEntryPoint 与 Windows Azure 辅助角色一起使用。我将向您提供一个有关如何使用它的示例,以便您可以在 Windows Azure PHP 应用程序中使用:

因此,如果您的辅助角色名称为“TestWorker”,并且 TestWorker 文件夹包含您的 PHP.EXE 以及其他文件,并且您的应用程序文件夹如下所示:

enter image description here

现在您还可以编辑/添加 ServiceDefinition.cscfg 以包含正确的 WorkerRole 设置以及 ProgramEntryPoint,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="WorkerRoleApp" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-05.1.7">
<WorkerRole name="TestWorker" vmsize="Small">
<Runtime executionContext="limited">
<EntryPoint>
<ProgramEntryPoint commandLine="php.exe" setReadyOnProcessStart="true" />
</EntryPoint>
</Runtime>
<Endpoints>
<InputEndpoint name="PhpHttpIn" protocol="http" port="80" />
</Endpoints>
</WorkerRole>
</ServiceDefinition>

最后,您可以使用如下 CSPACK 命令来构建您的包,然后在计算模拟器中进行本地测试:

cspack ServiceDefinition.csdef /role:TestWorker;TestWorker /copyOnly 
/out:WorkerRoleApp.csx /generateConfigurationFile:ServiceConfiguration.cscfg

最终结果如下:

enter image description here

关于php - 无法使用辅助角色在开发模拟器上部署 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11016592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com