Ich habe eine Webanwendung auf Azure App Service ausgeführt. Ich versuche, ein Post-Bereitstellungsskript in der Kudu Debug CMD-Konsole zu testen.Wie php_redis.dll beim Ausführen von Post-Deployment-Skript in Kudu Console geladen wird
php -d extension=php_redis.dll -f postdeploy.php
Hier ist meine postdeploy.php Datei
<?php
ini_set('error_reporting', -1);
ini_set("display_errors", 1);
function exception_handler($exception) {
echo "Uncaught exception: " , $exception->getMessage(), "\n";
}
set_exception_handler('exception_handler');
$redis = new Redis();
...
?>
bekomme ich folgende Fehler
Fatal error: Class 'Redis' not found in D:\home\site\deployments\tools\PostDeploymentActions\postdeploy.php on line 13
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\Program Files (x86)\PHP\v5.6\ext\php_redis.dll' - The specified module could not be found.
in Unknown on line 0
ich die richtige Version von php_redis.dll zum PostDeploymentActions Ordner hochgeladen. Dies ist die gleiche Binärdatei, die die Webanwendung über die App-Einstellung im Portal PHP_EXTENSIONS = bin\php_redis.dll
verwendet. Ich bin mir jedoch nicht sicher, wie ich das für dieses Skript laden soll.
Gibt es eine Möglichkeit, dass ich die php_redis.dll in Kudu Post-Deployment-Skript laden kann?
Ich versuchte php -d extension=./php_redis.dll -f postdeploy.php
, php -d extension=%~dp0php_redis.dll -f postdeploy.php
und andere seltsame Kombinationen ohne Glück.
Als ersten Schritt, würde ich empfehlen, zu einem einfacheren Kudu-Konsole-Szenario zu isolieren, per [dieses Dokument] (https://github.com/projectkudu/kudu/wiki/Isolating-WebJobs-and-Deployment-script- Probleme). –