2014-10-27 130 views
0

我写过一个基本上调用php%WEBROOT%\ dir \的powershell脚本,并将它设置为像Azure中的WebJob一样运行 - 这是在Azure网站上。Azure网站上的Azure WebJobs中的PHP

我遇到的问题是它没有取得在网站上配置(和工作)的.user.ini文件。我一直在玩kudu的PowerShell,并且很快就会知道如何让它运作起来。

是否有反正在一个客户端启动php可以追加一个user.ini文件到标准的php.ini文件?否则我到目前为止唯一可以想到的解决方案是读取D:\ Program Files \ xxx中的整个php.ini文件,将其复制并附加到它,然后使用我的修改版本执行php。这不是一个理想的解决方案,如果可能的话,我试图绕过它。

或者,另一种方法是在运行时声明使用ini_set()我想要更改的变量,但不是所有的变量都设置了问题 - 特别是error_reporting。如果有人可以帮助我制定一种方法来关闭E_STRICT & E_NOTICE,它也可以解决我的问题。我尝试了error_reporting(0)和所有不同的方式,但它完全忽略它们 - 它可以很好地使用date.timezone,include_path等。

+0

什么是WEBROOT设置?根据http://php.net/manual/en/configuration.file.per-user.php - 你可以将user.ini文件放在你的php文件所在的目录中 – 2014-10-27 22:07:01

+0

为什么你使用powershell而不是直的up .php文件? – 2014-10-28 18:39:01

+0

@AmitApple powershell脚本充当脚本启动器,以类似的方式,我们将使用shellscript在Linux中启动一些PHP。这是为了让现有平台在Azure中发挥出色,而无需重新编写大量代码。 – dandaman 2015-05-01 01:43:44

回答

0

在调用PHP可执行文件时可以使用-d参数来设置配置选项。我用它来包含mongo扩展,默认情况下不包括这个扩展。我的工作是一个.bat文件,下面一行。

"%ProgramFiles%\PHP\v5.6\php.exe" -dextension=D:\home\site\wwwroot\bin\php_mongo.dll D:\home\site\cli\ascript.php 

See the docs here

+0

如果我们再次尝试使用Azure,我一定会放弃这个,因为我认为这是我需要的! – dandaman 2015-05-01 01:46:53