Ich versuche, eine lokale Git-Repository-PHP-Website zu Azure von Linux hochzuladen. Es scheint, dass ich eine Art web. config-Datei hinzufügen müssen, um meine MIME-Typen zu arbeiten. z. B. Mp4 video, favicon. icon. Was bedeutet diese Konfigurationsdatei verlangt, dass ich versuchte, es einfach zu sein: Aber das funktioniert nicht. Die Website berichtet: nach dem Hinzufügen dieser web. config zu meiner git repo und pushing. - Francisco Aguilera University of Washington Student Prospective Informatik Major Microsoft Student Partner students. washington. edufalven facebookfalven Herausgegeben von falven Montag, 1. Mai 2014 09:05 Beautiful Works now. Obwohl jetzt meine Website-Symbol nicht in der Browser-Adresse angezeigt Bartab Soweit meine web. config, gibt es irgendwelche anderen häufig hinzugefügten Elemente, um es neben Mime-Typen Schließlich wissen Sie, wenn Azure bietet eine SSH-Adresse für git schiebt Oder nur die https - Francisco Aguilera University of Washington Student Prospective Informatik Major Microsoft Student Partner students. washington. edufalven facebookfalven Herausgegeben von falven Freitag, 2. Mai 2014 18:26 Uhr Interessant. Scheint auf Firefox und IE in Windows arbeiten, aber nicht in FirefoxChromium unter Linux. Wahrscheinlich ein ganz anderes Thema für sich. Gut zu wissen. Kann, dass up, hängt davon ab, wie ich das Gefühl, über eine öffentliche Git Repo mit der Website. Kann auch nur auf FTP. Wir werden sehen. - Francisco Aguilera Universität von Washington Student Prospective Informatik Major Microsoft Student Partner students. washington. edufalven facebookfalven Bearbeitet von falven Freitag, 2. Mai 2014 06.48 Uhr Der Repo doesnt haben, um öffentlich zu sein . Sie können ein privates Repo auf GitHub oder BitBucket verwenden. BitBucket bietet kostenlose private Repos. Freitag, 2. Mai 2014 7:12 PM Yeah, würde sagen, du musst für ein Github privates Repo bezahlen - und Im bereits mit Azure) Plus, warum habe ich nicht daran gedacht, ich könnte einfach das Repo auf Azure - Francisco Aguilera University of Washington Student Prospective Informatik Major Microsoft Student Partner Studenten. washington. edufalven facebookfalven Freitag, 2. Mai 2014 19:38 Microsoft führt eine Online-Umfrage durch, um Ihre Meinung über die Msdn-Website zu verstehen. Wenn Sie sich für eine Teilnahme entscheiden, wird Ihnen die Online-Umfrage präsentiert, wenn Sie die Msdn-Website verlassen. Möchten Sie teilnehmen Helfen Sie uns, MSDN zu verbessern. Besuchen Sie unsere UserVoice-Seite, um Ideen einreichen und abstimmen zu können. Dev-Center LernressourcenBeschreibung phpinfo (int, was INFOALL) Gibt eine große Menge an Informationen über den aktuellen Zustand von PHP aus. Dies beinhaltet Informationen über PHP-Kompilierungsoptionen und - erweiterungen, die PHP-Version, die Serverinformationen und die Umgebung (falls als Modul kompiliert), die PHP-Umgebung, die Versionsinformationen, Pfade, Master - und lokale Werte von Konfigurationsoptionen, HTTP-Headern und PHP Lizenz. Da jedes System anders aufgebaut ist, wird phpinfo () häufig verwendet, um Konfigurationseinstellungen und verfügbare vordefinierte Variablen auf einem gegebenen System zu überprüfen. Phpinfo () ist auch ein wertvolles Debugging-Tool, da es alle EGPCS-Daten (Environment, GET, POST, Cookie, Server) enthält. Parameter Die Ausgabe kann angepasst werden, indem eine oder mehrere der folgenden Konstanten bitweise Werte, die in dem optionalen Parameter zusammengefasst werden, übergeben. Man kann auch die jeweiligen Konstanten oder bitweisen Werte zusammen mit dem Operator kombinieren. Ein Hinweis auf das sehr nützliche Beispiel von jon am sitewizard dot. Die folgenden Aussagen: Statement 1: phpinfoend (arraykeys (phpinfo)) match2 isset (match4). Array (match3, match4). Match3 Statement 2: phpinfoend (arraykeys (phpinfo)) match2 Diese beiden Zeilen erzeugen den Fehler Strict Standards: Nur Variablen sollten durch Verweis übergeben werden. Die Wurzel des Fehlers liegt in der falschen Verwendung der Funktion end (). Der Code funktioniert, aber thows der Fehler. Um dieses Problem zu lösen, verwenden Sie die folgenden Anweisungen: Statement 1 revision: keys arraykeys (phpinfo) phpinfoend (Schlüssel) match2 isset (match4). Array (match3, match4). Match3 Statement 2 revision: keys arraykeys (phpinfo) phpinfoend (keys) match2 Damit wird der Fehler behoben. Um es alles in einem Beispiel umzuhängen: ltphp-Funktion quickdevinsightsphpinfo () obstart () phpinfo (11) phpinfo array (phpinfo gt array ()) if (pregmatchall ((lth2gt (: lta name. gt) (.) (: Ltagt) Lth2d) (: lttr ()) gt (.class) gt (.klassen) gt (.klassen) gt ( ) () (1) phpinfo (1) phpinfo (1) phpinfo (1) phpinfo (1) phpinfo end (Schlüsselwörter1) Spiel 2 isset (Spiel 4). (Match 3, Match 4). (Phpinfo als name gt-Abschnitt) echo lth3gt name lth3gtnlttable classwp-list-table widefat feste pagesgtn foreach (Abschnitt als Schlüssel gt val) If (isarray (val)) echo lttrgtlttdgt Schlüssel lttdgtlttdgt val 0 lttdgtlttdgt val 1 lttdgtlttrgtn elseif (isstring (Schlüssel)) Echo lttrgtlttdgt Schlüssel lttdgtlttdgt Val lttdgtlttrgtn Echo lttrgtlttdgt Val lttdgtlttrgtn Echo lttablegtn sonst echo lth3gtSchorry, die phpinfo () Funktion ist nicht zugänglich. Vielleicht ist es disabledlta hrefphpmanualenfunction. phpinfo. php gtSee the documentation. ltagtlth3gt gt Ehrlich gesagt, dachte ich die Mühe der Hinzufügung dieser Notiz, weil das Beispiel von jon am sitewizard dot ca ist wahrscheinlich die beste im Web, und dachte, es unglücklich, dass es Wirft Fehler. Hoffe, dies ist nützlich für jemanden. Ich brauchte einen Weg, um schnell durch die phpinfo blättern, die eine große Liste von Informationen ist. So ist es hier. In der Oberseite gibt es eine Liste mit Abschnitten, die neuen Abschnitt geladenen Erweiterungen halten die Links zu den Ankern der geladenen Module. Zeigt der Abschnitt Sitzung Variablen die aktuellen geladenen Sitzungen. Die Verwendung von Domdocument für die Manipulation, so sollten Sie das geladen haben: ltphp obstart () exts getloadedextensions () phpinfo obgetcontents () obendclean () print phpinfo htmlstr phpinfo html new html - gt loadHTML (htmlstr) html - gt GetElementsByTagName (title) - gt Element (0) title - gt nodeValue PHP Version. Phpversion () body html - gt getElementsByTagName (body) - gt Element (0) body - gt setAttribute (style. Hintergrundfarbe: beige) Tabellenkörper html - gt getElementsByTagName (Tabelle) - gt Element (3) - gt nextSibling head html - gt getElementsByTagName (table) - gt Element (0) - gt nextSibling obstart () gt lth2gtlta namesessionvariablesgtSession Variablesltagtlth2gt lttable border0 cellpadding2 Breite600gt lttr classhgtltthVariablesltthgtltththValueltthgtlttrgt ltphp foreach (SESSION als Schlüssel-gt-Wert) if (isbool (Wert)) Wert (Wert) true. False else if (Isarray (Wert)) Wert ltpregt. Printr (Wert true). ltpregt else if (empty (Wert) ampamp Wert 0) Wert ltigtno valueltigt gt lttrgt LTTD classegt ltkeygt lttdgt LTTD classvgt ltvaluegt lttdgt lttrgt ltphp gt lttablegt lth2gtlta nameloadedextensionsgtloaded extensionsltagtlth2gt lttable border0 cellpadding2 width600gt LTTR classhgtltthgtExtensionltthgtltthgtVersionltthgtlttrgt ltphp natcasesort (exts) foreach (exts als Wert) Version Phpversion (value) gt lttrgt lttd classe stylewidth: 150pxgtlta hrefmodule ltvaluegt Stilfarbe: schwarz Hintergrundfarbe: ccccffgt ltvaluegt ltagtlttdgt lttd classvgt lt (leer (version)) version. LtigtUnknownltigt gt lttdgt lttrgt ltphp gt lttablegtlt gt ltphp txtstr obgetcontents () obendclean () txt neu DOMDocument () txt - gt loadHTML (txtstr) txtbody txt - gt getElementsByTagName (body) - gt item (0) foreach (txtbody - gt childNodes als Kind ) Html - gt importNode (untergeordnet true) table - gt parentNode - gt insertBefore (h2) h2 html - gt getElementsByTagName (h2) foreach (h2 als Element) if (item - gt getElementsByTagName (a) - gt Länge 0 ) Wert - gt nodeValue-Element - gt nodeValue ein html - gt createElement (a) a - gt setAttribute (strtolower (strreplace (Wert))) a - gt nodeValue-Wert - gt appendChild (a) ein Element - Gt getElementsByTagName (a) - gt Element (0) if (inarray (a - gt nodeValue. exts)) Menü strtolower (strreplace (a - gt nodeValue)) a - gt nodeValue topa html - gt createElement () Inadray (a - gt nodeValue. exts)) txt html - gt createTextNode ((Zum Seitenanfang)) topa - gt appendChild (txt) topa - gt setAttribute (href. ) Sonst txt html - gt createTextNode ((Zur Erweiterungsliste)) topa - gt appendChild (txt) topa - gt setAttribute (href. Loadedextensions) topa - gt setAttribute (Schriftfarbe: beige Schriftgröße: 12px margin-left : 5px Rand-oben: -5px Farbe: schwarz) item - gt appendChild (topa) obstart () gt ltbr gt lttable border0 cellpadding2 Breite600gt lttr classhgtltth colspan2gtSectionsltthgtlttrtr lttrgt ltphp i 0 foreach (Menü als Schlüsselgteinzelteil) lttd classvgtlta href Schlüssel stylebackground - Farbe: cccccc Farbe: blackgt Artikel ltagtlttdgt, wenn (i 2) drucken lttrgtlttrgt i if (i 2) Druck LTTD classvgtlttdgt gt lttrgt lttablegt ltphp txtstr obgetclean () txt neue DOMDocument () txt - gt loadhtml (txtstr) txtbody txt - gt getElementsByTagName (Body) - gt item (0) foreach (txtbody - gt childNodes als Kind) Kind html - gt importNode (Kind true) Tabelle - gt parentNode - gt insertBefore (untergeordneter Kopf) print html - gt saveHTML () gt Nach dem Lesen Und versuche verschiedene Funktionen, konnte ich nicht finden, die korrekt analysiert alle Konfigurationen, Streifen jede Links-über HTML-Tag und konvertiert Sonderzeichen in UTF8 (z Amp039 in), so dass ich meine eigene durch die Verbesserung auf die vorhandenen: function phpinfo2array () entitiesToUtf8-Funktion (input) phpmanualenfunction. html-entity-decode. php104617 return pregreplacecallback ((amp0-9), Funktion (m), input) PlainText-Funktion (input) use (entitiesToUtf8) zurückgeben (entitiesToUtf8) return trim (htmlentitydecode (entitiesToUtf8 (striptags (input)))) titlePlainText-Funktion (input) use (plainText) return. plainText (input) phpinfo array () Lth1gtConfigurationlth1gt - Tag (andere h1s) if (pregmatch (lth1gtgtsConfiguration.) Lth1s, obgetclean (), matches)) return array () - Eingabe matches1 Übereinstimmungen array () if (pregmatchall ((lth2.gt (: lta. gt) (.) (: Ltagt) lth2gt): lttr. gtltdd. gt (.) Sltthdgt (: ltthd. gt (.) Sltthdgt)) lttrgt) s, input, matches, PREGSETORDER )) Foreach (Übereinstimmungen als Übereinstimmung) fn strpos (match0, ltth) false. PlainText. Phpinfoend (keys1) fn (match2) isset (match4) () () () () () (Fn (match3), fn (match4)). Fn (match3) else keys1 arraykeys (phpinfo) phpinfoend (keys1) fn (match2) Die Ausgabe sieht ungefähr so aus (beachten Sie, dass die Header ebenfalls enthalten sind, aber vorangestellt werden, zB Richtlinie): Array (phpinfo gt Array (0 gt PHP Version 5.6.5 Systemanforderungen Darwin Calins-MBP 15.0.0 Darwin Kernel Version 15.0.0: Mi Aug 26 19:41:34 PDT 2015 root: xnu-3247.1.106 5RELEASEX8664 x8664 Build-Datum gt Feb 19 2015 18:34:18 Registriert Stream-Socket-Transporte gt tcp, udp, unix, udg, ssl, sslv3, sslv2, tls, tlsv1.0 Eingeschriebene Stream-Filter gt zlib., Bzip2, convert. iconv., String. rot13, string. toupper, string. tolower, String. striptags, convert., Verbraucht, dechunk 1 gt Dieses Programm nutzt das Zend Scripting Language Engine: Zend Engine.) Apache2handler gt Array (Apache Version) gt Apache2.4.16 (Unix) PHP5.6.5 OpenSSL0.9.8zg Apache API Version Gt 20120211 Server Administrator gt webmasterdummy-host2.example Hostname: Port gt sitestacker. local: 0 Richtlinie gt Array (0 gt lokaler Wert 1 gt Masterwert) Dies ist erforderlich, um eine W3C-Validierung (XHTML1.0 Transitionnal) zu erhalten. Phpinfos Ausgabe ist mit, dass DTD deklariert: - System-ID hat die falsche Url zu validieren. DTDxhtml1-transitional. dtd anstatt w3.orgTRxhtml1DTDxhtml1-transitional. dtd - Einige Modulnamen enthalten Speicherplatz und die Ausgabe der Funktionen den Namen in Anker als ID und NAME. Können diese Attribute nicht so validiert werden (nur einmaliger Name). Obstart () Capturing phpinfo () phpinfo () info trim (obgetclean ()) Ausgabe Ersetzen Sie Leerzeichen in ID - und NAME-Attributen. If exists info pregreplace ((idname) () () i. 123. info) infodoc neu DOMDocument (1.0 utf-8) Parse phpinfos-Ausgabeoperator verwendet, um Meldungen über nicht definierte Entitäten zu vermeiden oder loadHTML zu verwenden anstelle von infodoc-gt loadXML (info) Doc - gt documentElement - gt appendChild (Hinzufügen von HEAD-Element zu HTML doc - gt importNode (infodoc - gt getElementsByTagName (head) - gt Element (0), true Bei allen Teilbaum)) doc - gt documentElement - gt appendChild (Hinzufügen von BODY-Element Zu HTML doc - gt importNode (infodoc - gt getElementsByTagName (body) - gt Element (0), true Mit dem ganzen Teilbaum)) Jetzt erhalten Sie eine saubere Ausgabe und Sie können validieren. Echo (doc-gtsaveXML ()) ODER echo (doc-gtsaveHTML ()) Auf diese Weise ist es einfach, einige Stildeklaration hinzuzufügen: style doc - gt getElementsByTagName (style) - gt item (0) style - gt appendChild (doc - gt CreateTextNode (Einige neue CSS-Regeln, die dem FUNCTION-OUTPUT hinzugefügt werden sollen)), um weitere Informationen anzuzeigen: body doc - gt getElementsByTagName (body) - gt Element (0) element doc - gt createElement (p) element - gt appendChild (doc - gt createTextNode (body) - gt appendChild (Element), um einen neuen Header hinzuzufügen: head doc - gt getElementsByTagName (head) - gt item (0) meta-doc - gt createElement (meta) meta - gt setAttribute (Name) Autor (en) meta - gt setAttribute (Inhalt arimbourg at ariworld dot eu) head - gt appendChild (meta) Wie Sie möchten, nehmen Sie den Rest der Ausgabe und fügen Sie es zum Debuggen aus obgetclean () pre doc - gt createElement ( Div) oder pre pre - gt setAttribute (Formatvorlage: pre) für ein div-Element, unbrauchbar mit pre pre - gt appendChild (doc - gt createTextNode (out)) body - gt appendChild (pre) doc - gt formatOutput true Für eine schöne Einrückung doc - gt saveXML () Alles, was mit RegExp getan werden könnte, aber ich bevorzuge die Verwendung von DOM für die Manipulation von Dokumenten Ich wollte eine einfache Funktion, um die Ausgabe von phpinfo in ein Array zu konvertieren. Heres, was ich kam mit vielen der vorherigen Autoren Tipps und die Quelldatei: php-5.2.6extstandardinfo. c Rufen Sie diese Funktion wie phpinfoarray () das Array, phpinfoarray (1) liefert das Array für Ihre eigene Verarbeitung. Sample Output PHP-Konfiguration gt Array (PHP Version gt 5.2.6 PHP Egg gt PHPE9568F34-D428-11d2-A769-00AA001ACF42 System gt Linux askapache 2.6.22.19-grsec3 Erstellungsdatum gt Nov 11 2008 13:09:07 Konfigurieren Sie den Befehl gt. configure --prefixhomegrsecbinphp Server API gt FastCGI IPv6-Unterstützung gt aktiviert Zend Egg gt PHPE9568F35-D428-11d2-A769-00AA001ACF42 PHP Credits Egg gt PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000) mbstring gt Array (mbstring. httpinput gt Pass mbstring. internalencoding gt Array (0 gt ISO-8859-1 1 gt kein Wert) mbstring. language gt neutral) mcrypt gt Array (Version gt 3.5.7 Api Nein gt 20031217) ltphp-Funktion phpinfoarray (zurück falsch) Andale Andale Yee-Hah obstart () phpinfo (Sektionen 0) pi array () foreach (Abschnitte als Abschnitt) n substr (Abschnitt 0. strpos (Abschnitt lth2gt)) pregmatchall (S (: lth2gtltgtgtgt) Lttdgt (.) Lttdgt) (: lttdgt (.) Lttdgt) (: lttdgt (.) Lttdgt) E, Abschnitt, frage, M 2: Arrayslice (m. 2) return (return false). Printr (pi). Pi Diese Funktion analysiert die phpinfo-Ausgabe, um Details zu einem PHP-Modul zu erhalten. ltphp PHP-Module von phpinfo Funktion parsePHPModules () obstArt () phpinfo (INFOMODULES) s obgetcontents () obendclean () s Striptags (s. lth2gtltthgtlttdgt) s pregreplace analysieren (ltthgtgt (lt) ltthgt. ltinfogt1ltinfogt. n) s pregreplace (lttdgtgt (lt . lttdgt) ltinfogt1ltinfogt s) VTMP pregsplit ((lth2gtltlth2gt) s, -. 1. PREGSPLITDELIMCAPTURE) vModules array () für (i 1 i lt (VTMP) i) if (pregmatch (lth2gt (lt zählen). lth2gt VTMP i. VMAT)) vName trim (VMAT 1) vTmp2 explode (n. VTMP i 1) foreach (vTmp2 AS vone) VPAT ltinfogt (lt) ltinfogt vPat3 VPAT s VPAT s VPAT vPat2 VPAT s VPAT if (pregmatch (vPat3. vone. VMAT) ) VModule vName trim (vMat1) trim (vMat 2) return vModules gt Sample Output (vMat1) vModule vName Zuordnung (vMat 1) Zuordnung (vMat 2), trim (vMat 3) : Gd gt Array (GD Support gt aktiviert GD Version gt gebündelt (2.0.28 kompatibel) FreeType Unterstützung gt aktiviert FreeType Linkage gt mit Freetype FreeType Version gt 2.1.9 T1Lib Unterstützung gt aktiviert GIF Lesestatus gt aktiviert GIF Create Unterstützung gt aktiviert JPG Support Gt aktiviert PNG Unterstützung gt aktiviert WBMP Unterstützung gt aktiviert XBM Unterstützung gt aktiviert) Datum gt Array (datetime support gt enabled Zeitzone Datenbank Version gt 2005.14 Zeitzone Datenbank gt internal Standard Zeitzone gt AmericaLosAngeles Richtlinie gt Array (0 gt Lokaler Wert 1 gt Master Value) Datum. timezone gt Array (0 gt kein Wert 1 gt kein Wert)) ltphp eine Modul-Einstellfunktion erhalten getModuleSetting (pModuleName. PSetting) vModule pModuleName pSetting gt Beispiel: getModuleSetting (gd, GD Version) liefert gebündelt (2.0.28 kompatibel) check out diese coole und phantastische bunte phpinfo () obstart () phpinfo () phpinfo obgetcontents () obendclean ) 0 (0) 0 (0) 0 (0) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (I 0 i lt 6 i) r. Substr (hexvalue) mtrand (0. 15), 1) Ersetzungen jr unset (r) für (i 0 i lt count (sucht) i) phpinfo strreplace (sucht, ersetzt phpinfo) echo phpinfo gt Dies ist eine kleine Änderung an der Vorherigen Code durch Code bei adspeed dot com, die die PHP-Module als Array extrahiert. Ich habe es auf PHP 4.1.2 und es fehlgeschlagen, da die lth2gt-Tags auch ein aligncenter hatte. So ändert dieses Update die Regex für diese Tags: PHP-Module von phpinfo Funktion parsePHPModules () obstArt () phpinfo (INFOMODULES) s obgetcontents () obendclean () s Striptags (s lth2gtltthgtlttdgt.) S pregreplace (ltthgtgt (lt) ltthgt analysieren ltinfogt1ltinfogt. S (vgl.) (Vgl.) (Vgl.) (Vgl.) (Vgl. (VTmp2) vPat (vTmp1) vPat (vTmp1) vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat vPat Wenn vPat vPat ist, (VMat 2), trim (vMat 2), trim (vMat 1) trim (vMat 2), vMat) vModule vNammal (vMat 1) (VMat 2) return vModules gt Aufbauend auf SimonDs elegantes Beispiel zum Ausblenden des eingeloggten Benutzernamens und Passworts, die ansonsten im Klartext erscheinen, sollte für PHP 5.4 folgendes funktionieren: ltphp start output buffering obstart () send phpinfo content phpinfo () Phpinfo content html obgetcontents () spiele den Ausgabepuffer obendclean () remove auth data if (isset (SERVER PHPAUTHUSER)) html strreplace (SERVER PHPAUTHUSER, protected. Html) if (isset (SERVER PHPAUTHPW)) html strreplace (SERVER PHPAUTHPW, protected. Html) Um zusätzliche Elemente zu entfernen, fügen Sie einfach wie oben.
No comments:
Post a Comment