Ankündigung

Einklappen
Keine Ankündigung bisher.

Migration von Linux auf Microsoft IIS

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Migration von Linux auf Microsoft IIS

    Guten Tag,

    ich möchte ein bestehendes Projekt, welches Seit einiger Zeit erfolgreich auf einem Testgerät ( Raspberry Pi) gelaufen ist, auf den eigentlichen Server migrieren. Es ist ein Windows 2012 R2 mit IIS 8.5. PHP ist auch installiert in der Verison "PHP Version 7.0.14"
    In der php.ini ist Soap, openssl und phpldap. aktiviert.

    Das Projekt bzw den Ordner vom RasPi habe ich 1zu1 auf den IIS kopiert.

    Wie ich openssl noch nicht aktiv hatte, bekam ich eine Fehlermeldung. Nach dem ich openssl aktiviert habe bekomme ich den Fehler 500.

    Jetzt stellt sich mir die Frage wie ich das Fehlermässig eingrenzen kann. In den PHP Dateien sind die error Reports aktiv.

    Oder hat der IIS eine andere Syntax? Ich glaube die PHP auf dem Raspberry ist 6 nicht die 7.

    VIelen Dank schon mal .

    Gruß Matthias


  • #2
    Bitte meine Signatur beachten!!!

    Wir haben schon genug Zombieserver im Netz, also lass das.
    Windows Server gehören NICHT ins Internet!

    Dildo? Dildo!

    Kommentar


    • #3
      Zitat von trollface Beitrag anzeigen
      Bitte meine Signatur beachten!!!

      Wir haben schon genug Zombieserver im Netz, also lass das.
      Ich hab auch ne Bitte: Bitte poste nicht so nen Blödsinn! Wenn Du Windows bashen willst geh in die Heise Foren dort triffst Du auf Gleichgesinnte.
      PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

      Kommentar


      • #4
        [MOD: Verschoben von PHP-Einsteiger]
        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          hm... spontan . geh einmal durch SÄMTLICHE Quelltexte ... du wirst dich freuen, da auf dem Windows Server deine Zeilenumbrüche vom RasPi nicht erkannt werden (jedenfalls meiner Erfahrung nach) ...

          nachdem du die Zeilenumbrüche korrigiert hast, kannst du es nochmal versuchen

          da du SSL verwendest - hast du dir neue Schlüssel gebastelt - oder sind das noch die gleichen, wie aufm RasPi ?

          Sind auf deinem Windows-Server die nötigen Ports frei?
          Zitat von Matze1708
          Wie ich openssl noch nicht aktiv hatte, bekam ich eine Fehlermeldung. Nach dem ich openssl aktiviert habe bekomme ich den Fehler 500.
          Hast du diese Fehlermeldungen behoben - oder trotz Fehlern einfach SSL aktiviert ?
          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

          Kommentar


          • #6
            Hallo,

            danke für die Hilfe. Meinst du generelle Zeilenumbrüche im Code oder welche die ich mit z.B. br einfüge?

            ICh frage hier eine Schnittstelle die nur https spricht ab. GIng auf dem Raspberry auch ohne irgendein Zertifiakt zu installieren...

            Die Fehlermeldung entstand nur da SSL nicht aktiv war.

            Jetzt sind es sicherlich Syntax Fehler... Deutet meinem anschein nach drauf hin...

            Ich versuche mal den COde Scheibchenweise nachzubauen.

            Kommentar


            • #7
              Hallo,

              ich habe mal ein wenig in der Datei rumgespielt.

              Was ich gefunden habe ist folgendes:

              PHP-Code:

              <html>
              <head>


              <link rel="stylesheet" type="text/css" href="include/stylesheet.css">
              <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
              </head>
               <body>
              <?php

              error_reporting
              (-1);
              ini_set('display_errors'true);



              $params = array('sql' => 'select lg.name as linegroup2 from linegroup as lg order by lg.name');

              require_once(
              "include/connect_cucm.inc.php");


              var_dump$client->executeSQLQuery($params));

              //echo '<title>Sammelanschlussgruppen</title>';

              //echo '<h1>Sammelanschlussgruppen</H1>';
              //echo "<div class='logo'></div>";


              //echo "<div class='dropdown'>";
              // echo '<select name="navi" size="1" onChange="location.href=this.options[this.selectedIndex].value;">';
               //foreach($response->return->row as $LineGroup) :
              // echo '<option value=huntgroup.php?LG=' .$LineGroup->linegroup2 .'>' . substr($LineGroup->linegroup2, 3) . '</option>';

              // endforeach;
              // echo '</select>';
              //echo"</div>"

               
              ?>
              </body>
              </html>


              connect_cucm.inc.php

              PHP-Code:

              <?php
                           ini_set
              ('soap.wsdl_cache_enabled',0);
                  
              ini_set('soap.wsdl_cache_ttl',0);
                  
              ini_set('default_socket_timeout'180);


                  
              $host="mtk01.gruppe.intra";
                  
              $username="XXXX";
                  
              $password="XXXX";

                   
              $client = new SoapClient("AXLAPI.wsdl",
                      array(
              'trace'=>true,
                   
              'cache_wsdl' => WSDL_CACHE_NONE,
                     
              'exceptions'=>true,
                     
              'location'=>"https://".$host.":8443/axl",
                     
              'login'=>$username,
                     
              'password'=>$password,
                
              'conection-timout'=>30
                  
              ));
                
              ?>
              Rot markiert ist das Problem Kind. Kommentiere ich dort aus... Läuft der Spaß... Jedoch nicht mit dem Feedback vom SOAP Server...

              Kommentar


              • #8
                Schau dir dringed mal das E-V-A Prinzip an. https://php-de.github.io/jumpto/eva-prinzip/
                Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                PHP.de Wissenssammlung | Kein Support per PN

                Kommentar


                • #9
                  Meinst du das ist die Lösung?

                  Das die PHP nicht nach dem EVA Prinzip ist, ist mir klar... Komischerweise läuft die Datei aber unter dem RasPi.

                  Kommentar


                  • #10
                    Hallo,

                    es verdichtet sich immer mehr der Verdacht, dass auf dem IIS 8.5 mit PHP 7 noch irgendwelche Einstellungen fehlen.

                    Ich habe die PHP Datei so zusammen gedampft, das her eigentlich keine Fehler mehr sein können.
                    Zur Sicherheit Poste ich Sie euch noch mal.

                    Immer wenn ich Response aktivere und die SOAP Schnittstelle abgefragt werden soll, kommt der 500 Fehler.

                    PHP-Code:
                    <?php
                    error_reporting
                    (-1);
                    ini_set('display_errors'true);

                                 
                    ini_set('soap.wsdl_cache_enabled',0);
                        
                    ini_set('soap.wsdl_cache_ttl',0);
                        
                    ini_set('default_socket_timeout'180);


                        
                    $host="mtk01.gruppe.intra";
                        
                    $username="xxxx";
                        
                    $password="xxxx";

                         
                    $client = new SoapClient("AXLAPI.wsdl",
                            array(
                    'trace'=>true,
                         
                    'cache_wsdl' => WSDL_CACHE_NONE,
                           
                    'exceptions'=>true,
                           
                    'location'=>"https://".$host.":8443/axl",
                           
                    'login'=>$username,
                           
                    'password'=>$password,
                      
                    'conection-timout'=>30
                        
                    ));

                    $params = array('sql' => 'select lg.name as linegroup2 from linegroup as lg order by lg.name');


                    $response $client->executeSQLQuery($params);

                     echo 
                    "<pre>";
                        
                    var_dump(get_object_vars($response));
                        echo 
                    "</pre>";


                    ?>

                    Kommentar


                    • #11
                      Ein 500er Fehler bedeutet auf dem IIS meistens, dass ein PHP-Fehler aufgetreten ist. Den zeigt er wahrscheinlich nicht an, sondern schreibt ihn nur ins Logfile...

                      Also, schau ins Logfile und poste uns den Fehler oder schalte das Error-Reporting mal an, damit du die Fehlermeldung erhältst... folgendes am Anfang des Scripts sollte reichen:
                      PHP-Code:
                      <?php
                      error_reporting
                      (E_ALL);
                      ini_set('display_errors'1);
                      Noch etwas: Ich vermute eine Unhandled Soap Exception , du könntest also auch mal versuchen:

                      PHP-Code:
                      <?php
                      try {
                       
                      /// dein code hier...
                      } catch(\Exception $e) {
                          echo 
                      "<pre>";
                          
                      print_r($e);
                      }
                      Falls du so nicht weiter kommst, musst du den Soap-Request vielleicht auch debuggen. Aber dazu komme ich, wenn es soweit ist
                      Fynder - http://www.fynder.de - Tutorials zum Thema Technik

                      Kommentar


                      • #12
                        Diese Meldung hier bekomme ich:

                        Code:
                          SoapFault Object (     [message:protected] => Could not connect to host     [string:Exception:private] =>      [code:protected] => 0     [file:protected] => C:\websites\teletest\neu\index3.php     [line:protected] => 30     [trace:Exception:private] => Array         (             [0] => Array                 (                     [function] => __doRequest                     [class] => SoapClient                     [type] => ->                     [args] => Array                         (                             [0] =>  select lg.name as linegroup2 from linegroup as lg order by lg.name                              [1] => https://mtk01.gruppe.intra:8443/axl                             [2] => CUCM:DB ver=10.5 executeSQLQuery                             [3] => 1                             [4] => 0                         )                  )              [1] => Array                 (                     [file] => C:\websites\teletest\neu\index3.php                     [line] => 30                     [function] => __call                     [class] => SoapClient                     [type] => ->                     [args] => Array                         (                             [0] => executeSQLQuery                             [1] => Array                                 (                                     [0] => Array                                         (                                             [sql] => select lg.name as linegroup2 from linegroup as lg order by lg.name                                         )                                  )                          )                  )          )      [previous:Exception:private] =>      [faultstring] => Could not connect to host     [faultcode] => HTTP )

                        Kommentar


                        • #13
                          PHP Info: soap
                          Soap Client enabled
                          Soap Server enabled
                          soap.wsdl_cache 1 1
                          soap.wsdl_cache_dir /tmp /tmp
                          soap.wsdl_cache_enabled 1 1
                          soap.wsdl_cache_limit 5 5
                          soap.wsdl_cache_ttl 86400 86400

                          Kommentar


                          • #14
                            Naja, offenbar kann der Server nicht zu deinem Host verbinden, wo die WSDL liegt... du hast also von deinem Windows Server aus keine Verbindung zum Soap-Service. Entweder der Port wird geblockt oder dein Service ist nur im Intranet erreichbar... das ist denke ich ein Netzwerkproblem, kein PHP-Thema...

                            Nutze mal telnet, ping und Konsorten um festzustellen, ob du ne Verbindung hast. Du kannst ja nicht einfach von irgendwo in euer Intranet verbinden und dann hoffen, dass alles automatisch geht. Du müsstest da schon einen Port öffnen oder Reverse-Proxy nutzen

                            Fynder - http://www.fynder.de - Tutorials zum Thema Technik

                            Kommentar


                            • #15
                              Ich hätte gleich dazu schreiben sollen, das der Server im gleichen Netz hängt.
                              ich komme auch von dem Server per Internet Explorer auf die Schnittstelle.

                              Kommentar

                              Lädt...
                              X