我在Web角色上使用了一个启动脚本来使用Windows Plattform Installer来安装PHP。一切正常,安装了PHP并且应用程序正常工作,但是当我卸载大文件时,应用程序会生成错误。我通过手动编辑php.ini文件并修改了upload_max_filesize来修复它。我的问题是,我如何通过添加som脚本自动修改php.ini文件(在安装php之后执行)。我写了“AFTER”,因为这个脚本必须等到我的启动脚本完全执行并安装了php。 感谢您的帮助,感谢所有建议。
更新: 以下是我的install-php.bat文件,它位于我的web角色的bin文件夹中。我不熟悉powershell。如何将其翻译为powershell脚本?
ECHO "Starting PHP Installation" >> log.txt
md "%~dp0appdata"
cd "%~dp0appdata"
cd..
reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d "%~dp0appdata" /f
"..\MyWebpicmdline\WebPICmdLine" /Products:PHP53 /AcceptEula >>log.txt 2>>err.txt
reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d %%USERPROFILE%%\AppData\Local /f
ECHO "Completed PHP Installation" >> log.txt
答案 0 :(得分:1)
所以我假设您有一个启动任务,其中包含以下内容:
WebPICmdLine.exe /Products: PHP
您需要编写一些脚本来更新您的php.ini文件并在安装PHP后运行它。一个可能的解决方案是使用PowerShell执行此操作:
WebPICmdLine.exe /Products: PHP
powershell -command "Set-ExecutionPolicy Unrestricted"
powershell .\UpdatePhpIni.ps1
找到一个允许您更新ini文件的脚本(如Edit Ini File),将其添加到UpdatePhpIni.ps1文件中并添加所需的代码以修改执行时间。
请注意,我不是PHP专家,但如果我没记错,你应该在IIS的FastCGI settings中配置它(我认为这些优先于php.ini)。
更新:以下是使用FastCGI配置时脚本的外观。
ECHO "Starting PHP Installation" >> log.txt
md "%~dp0appdata"
cd "%~dp0appdata"
cd..
reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d "%~dp0appdata" /f
"..\MyWebpicmdline\WebPICmdLine" /Products:PHP53 /AcceptEula >>log.txt 2>>err.txt
ECHO Updating activity timeout.
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi "/[fullPath='%ProgramFiles(x86)%\PHP\v5.3\php-cgi.exe'].activityTimeout:800"
reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d %%USERPROFILE%%\AppData\Local /f
ECHO "Completed PHP Installation" >> log.txt