Descrizione bool phpinfo (int cosa INFOALL) Uscite una grande quantità di informazioni sullo stato corrente di PHP. Questo include informazioni sulle opzioni di PHP di compilazione e le estensioni, la versione di PHP, informazioni sul server e l'ambiente (se compilato come modulo), l'ambiente PHP, informazioni sulla versione del sistema operativo, i percorsi, maestro e dei valori locali di opzioni di configurazione, intestazioni HTTP, e il PHP Licenza. Poiché ogni sistema è configurato in modo diverso, phpinfo () è comunemente utilizzato per controllare le impostazioni di configurazione e per le variabili predefinite disponibili su un dato sistema. phpinfo () è anche uno strumento di debug valido in quanto contiene tutti i dati EGPCS (Ambiente, GET, POST, Cookie, Server). Parametri L'uscita può essere personalizzato passando una o più delle seguenti costanti valori bit a bit sommati insieme nel quale parametro opzionale. Si può anche combinare le rispettive costanti o valori bit per bit insieme con l'operatore OR. Una nota sulla esempio molto utile da Jon a SiteWizard dot ca. Le seguenti dichiarazioni: Dichiarazione 1: phpinfoend (arraykeys (phpinfo)) Match2 isset (match4). array (match3, match4). match3 Dichiarazione 2: phpinfoend (arraykeys (phpinfo)) Match2 Queste due linee produrranno i rigidi standard di errore: solo le variabili devono essere passati per riferimento in.. La radice dell'errore è in uso non corretto della funzione end (). Il codice funziona ma thows detto errore. Per far fronte a questo provare a utilizzare le seguenti dichiarazioni: Dichiarazione 1 revisione: tasti arraykeys (phpinfo) phpinfoend (chiavi) Match2 isset (match4). array (match3, match4). match3 Statement 2 revisione: phpinfoend (tasti) Tasti arraykeys (phpinfo) Match2 Questo corregge l'errore. Per avvolgere il tutto in un esempio: ltphp funzione quickdevinsightsphpinfo () obstArt () phpinfo (11) di matrice phpinfo (array phpinfo GT ()) se (pregmatchall ((: lth2gt (:. Name. gt LTA) () (: ltagt) lth2gt) (:.. LTTR (classe) gtltthd gt sltthdgt (classe..) (.) (: ltthd (classe) gt () sltthdgt (:...... ltthd (classe) gt () sltthdgt)) lttrgt ) s. obgetclean () partite. PREGSETORDER)) foreach (corrispondenze match) if (strlen (partita 1)) phpinfo partita 1 array () elseif (isset (partita 3)) arraykeys keys1 (phpinfo) phpinfo fine (keys1) Match 2 isset (partita 4). array (match 3, partita 4). partita 3 arraykeys altro keys1 (phpinfo) fine phpinfo (keys1) incontro 2 se (vuoto (phpinfo)) foreach (phpinfo come sezione GT nome) eco lth3gt nome lth3gtnlttable classwp-list-tavolo widefat foreach pagesgtn fisso (sezione come chiave val gt) if (IsArray (val)) eco lttrgtlttdgt chiave lttdgtlttdgt val 0 lttdgtlttdgt val 1 lttdgtlttrgtn elseif (IsString (chiave)) eco lttrgtlttdgt lttdgtlttdgt val chiave lttdgtlttrgtn else echo lttrgtlttdgt val lttdgtlttrgtn eco lttablegtn else echo lth3gtSorry, la funzione phpinfo () non è accessibile. Forse, è hrefphpmanualenfunction. phpinfo. php disabledlta gtSee GT documentation. ltagtlth3gt Francamente, sono andato pensato che il problema di aggiungere questa nota perché l'esempio da Jon a SiteWizard dot ca è probabilmente il migliore sul web, e ho pensato che peccato che getta errori. Spero che questo è utile a qualcuno. Avevo bisogno di un modo per scorrere rapidamente il phpinfo che è una lunga lista di informazioni. ecco che è. In cima c'è una lista con le sezioni, le nuove estensioni sezione caricato conterrà i link alle ancore dei moduli caricati. le variabili di sessione sezione mostrerà le sessioni caricate attuali. Il suo utilizzo DOMDocument per la manipolazione così si dovrebbe avere quel caricato: ltphp obstArt () exts getloadedextensions () phpinfo () obgetcontents phpinfo () obendclean () stampare phpinfo htmlstr phpinfo html nuovo DOMDocument () html - gt loadHTML (htmlstr) titolo html - gt getElementsByTagName (titolo) voce - gt (0) titolo - gt nodeValue Versione PHP. phpversion () corpo html - gt getElementsByTagName (corpo) voce - gt (0) corpo - gt setAttribute (stile background-color:. beige) html corpo della tabella - gt getElementsByTagName (tabella) elemento - gt (3) - gt testa nextSibling html - gt getElementsByTagName (tabella) elemento - gt (0) - gt nextSibling obstArt () gt lth2gtlta namesessionvariablesgtSession variablesltagtlth2gt lttable border0 cellpadding2 width600gt LTTR classhgtltthgtVariablesltthgtltthgtValueltthgtlttrgt ltphp foreach (SESSIONE come valore di GT chiave) se (isbool (valore)) valore (valore) vero. falso else if (IsArray (valore)) Valore ltpregt. printr (valore. true). ltpregt else if (empty (valore) Valore ampamp 0) valore 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 come valore) versione phpversion (valore) gt lttrgt lttd classe stylewidth: 150pxgtlta hrefmodule ltvaluegt stylecolor: nero background-color: ccccffgt ltvaluegt ltagtlttdgt lttd classvgt lt () versione vuota () versione. ltigtUnknownltigt gt lttdgt lttrgt ltphp gt lttablegtltbr gt ltphp txtstr obgetcontents () obendclean () txt nuovo DOMDocument () txt - gt loadHTML (txtstr) txtbody txt - gt getElementsByTagName (corpo) voce - gt (0) childNodes foreach (txtbody - gt come figlio ) bambino html - gt importNode (bambino. vero) tabella - gt parentNode - gt insertBefore (bambino. tabella) h2 html - gt getElementsByTagName (H2) foreach (h2 come punto) se (voce - gt getElementsByTagName (a) di lunghezza - gt 0 ) voce di valore - gt nodeValue voce - gt nodeValue un html - gt createElement (a) un setAttribute - gt (nome strtolower (strreplace (valore)...)) un elemento - gt valore nodeValue - gt appendChild (a) un elemento - gt getElementsByTagName (a) oggetto - gt (0) se (inArray (un nodeValue - gt. exts)) Menu strtolower (strreplace (.. un nodeValue - gt)) un - gt nodeValue topa html - gt createElement (a) se ( inArray (un - gt nodeValue. exts)) txt html - gt createTextNode ((verso l'alto)) Topa - gt appendChild (txt) Topa - gt setAttribute (href. ) Else txt html - gt createTextNode ((Vai ExtensionList)) Topa - gt appendChild (txt) Topa - gt setAttribute (href loadedextensions) Topa - gt setAttribute (stile background-color:.. Beige font-size: 12px margin-left : 5px margin-top: colore -5px: nero) voce - gt appendChild (topa obstArt) () gt LTBR gt lttable border0 cellpadding2 width600gt LTTR classhgtltth colspan2gtSectionsltthgtlttrgt lttrgt ltphp i 0 foreach (menu come elemento chiave gt) stampa lttd classvgtlta stylebackground chiave href colore: colore cccccc: blackgt voce ltagtlttdgt se (i 2) stampare lttrgtlttrgt i se (i 2) stampa lttd classvgtlttdgt gt lttrgt lttablegt ltphp txtstr obgetclean () txt nuovo DOMDocument () txt - gt loadHTML (txtstr) txtbody txt - gt getElementsByTagName (corpo) voce - gt (0) foreach (txtbody childNodes - gt come figlio) bambino html - gt importNode (bambino. vero) tabella - gt parentNode - gt insertBefore (bambino. testa) di stampa html - gt saveHTML () gt Dopo la lettura e cercando diverse funzioni, non potevo trovare uno che analizza in modo corretto tutte le configurazioni, le strisce ogni tag html sinistra-over e converte i caratteri speciali in UTF8 (ad esempio, amp039 in), così ho creato il mio migliorando su quelle già esistenti: la funzione phpinfo2array () la funzione entitiesToUtf8 (ingresso) pregreplacecallback ritorno phpmanualenfunction. html-entità-decode. php104617 ((amp0-9), la funzione (m), ingresso) funzione di testo in chiaro (ingresso) utilizzare la funzione titlePlainText (entitiesToUtf8) assetto di ritorno (htmlentitydecode (entitiesToUtf8 (striptags (input)))) (ingresso) utilizzare (in chiaro) tornare. plainText (ingresso) di matrice phpinfo (array phpinfo GT ()) Strip tutto dopo il tag lth1gtConfigurationlth1gt (altri h1s) if (pregmatch ((lth1gtgtsConfiguration) lth1s, obgetclean (), corrisponde a)..) array di ritorno () ingresso matches1 corrisponde array (), se (pregmatchall ((: lth2.gt (: lta. gt) (.) (: ltagt). lth2gt) (:. lttr. gtltthd. gt () sltthdgt (: ltthd. gt () sltthdgt (:.. ltthd. gt () sltthdgt)) lttrgt) s, ingresso, corrisponde, PREGSETORDER )) foreach (corrispondenze partita) strpos fn (match0, ltth) falsa. testo normale. titlePlainText if (strlen (match1)) phpinfomatch1 array () elseif (isset (match3)) keys1 arraykeys (phpinfo) phpinfoend (keys1) fn (Match2) isset (match4). array (fn (match3), fn (match4)). fn (match3) altro keys1 arraykeys (phpinfo) phpinfoend (keys1) fn (Match2) L'output simile a questa (da notare le intestazioni sono inclusi anche, ma hanno il prefisso, ad esempio, la direttiva): Array (phpinfo gt Array (PHP Versione 0 gt 5.6.5 sistema gt Darwin Calins-MBP 15.0.0 Darwin kernel Version 15.0.0: mer 26 ago 19:41:34 PDT 2015 root: XNU-3247.1.106 5RELEASEX8664 x8664 Realizzato GT 19 feb 2015 18:34:18 Registrato flusso zoccolo Trasporti gt TCP, UDP, unix, UDG, SSL, SSLv3, SSLv2, TLS, tlsv1.0 registrato flusso filtri gt zlib., bzip2., convert. iconv., string. rot13, string. toupper, string. tolower, . string. striptags, convertire, consumato, dechunk 1 gt Questo programma fa uso del motore Zend linguaggio di scripting:. Zend Engine) apache2handler gt Array (Apache versione GT Apache2.4.16 (Unix) PHP5.6.5 OpenSSL0.9.8zg Apache API Version gt 20120211 Server gt amministratore webmasterdummy-host2.example hostname: port gt sitestacker. local: 0 direttiva gt Array (0 GT locale Valore 1 GT master Valore) Ciò è necessario per ottenere una validazione W3C (XHTML1.0 Transitionnal). uscita phpinfos è dichiarata con quella DTD: - ID di sistema ha l'URL sbagliato per convalidare. DTDxhtml1-transitional. dtd piuttosto che w3.orgTRxhtml1DTDxhtml1-transitional. dtd - Alcuni nomi di modulo contiene lo spazio e l'uscita funzioni utilizzano il nome di ancore come ID e il nome. questi attributi smussano essere convalidati come quello (nome unico solo). obstArt () Acquisizione di phpinfo () phpinfo) info (finiture (obgetclean) () Uscita Sostituire lo spazio bianco in ID e gli attributi NAME. se esiste informazioni pregreplace ((idName) () () i. 123. info) INFODOC nuovo DOMDocument (1.0. utf-8) Analizza operatore di output phpinfos usata per evitare messaggi sulla entità non definite o utilizzare loadHTML invece INFODOC - gt loadXML (info) doc - gt documentElement - gt appendChild (Aggiunta elemento hEAD in HTML doc - gt importNode (INFODOC - gt getElementsByTagName (testa) voce - gt (0), vale per tutti la sottostruttura)) doc - gt documentElement - gt appendChild (Aggiunta elemento BODY in HTML importNode doc - gt (INFODOC - gt getElementsByTagName (corpo) voce - gt (0), vale per tutti la sottostruttura)) a questo punto si ottiene una produzione pulita e si è in grado di convalidare. echo (doc-gtsaveXML ()) o eco (doc-gtsaveHTML ()) In questo modo è facile aggiungere un po 'dichiarazione di stile: stile doc - gt getElementsByTagName (stile) voce - gt (0) stile - gt appendChild (doc - gt createTextNode (alcune nuove regole CSS da aggiungere al USCITA FUNZIONE)) per aggiungere alcune informazioni da visualizzare: doc corpo - gt getElementsByTagName (corpo) voce - gt (0) elemento doc - gt elemento createElement (p) - gt appendChild (doc createTextNode - gt (qualche nuovo contenuto da visualizzare)) corpo - gt appendChild (elemento) per aggiungere un nuovo header: testa doc - gt getElementsByTagName (testa) voce - gt (0) meta doc - gt createElement (meta) meta - gt setAttribute (nome. dell'autore) meta - gt setAttribute (contenuto. arimbourg a ariworld dot eu) testa - gt appendChild (meta) Come desideri, prendere il resto della produzione e aggiungerlo per il debug di fuori obgetclean () pre doc - gt createElement ( div) o pre pre - gt setAttribute (. stile white-space: pre) per un elemento div, inutile con pre pre - gt appendChild (doc - gt createTextNode (esce)) corpo - gt appendChild (pre) doc - gt formatOutput vero per una bella doc rientranza - gt saveXML () Tutto ciò che potrebbe essere fatto con solo RegExp, ma io preferisco l'uso di DOM per manipolare i documenti che volevo una semplice funzione per convertire l'output di phpinfo in un array. Ecco quello che mi è venuta grazie a un sacco di punte autori precedenti, e il file di origine: php-5.2.6extstandardinfo. c chiamare questa funzione come phpinfoarray () stampa l'array, phpinfoarray (1) restituisce la matrice per la propria elaborazione. Esempio di output PHP Configurazione GT Array (PHP versione GT 5.2.6 PHP Egg gt PHPE9568F34-D428-11d2-A769-00AA001ACF42 sistema gt Linux 2.6.22.19 askapache-grsec3 Realizzato GT 11 Nov 2008 13:09:07 configurato Command gt. configure --prefixhomegrsecbinphp API Server gt FastCGI Supporto IPv6 gt abilitato Zend Egg gt PHPE9568F35-D428-11d2-A769-00AA001ACF42 PHP Crediti Egg gt PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000) mbstring gt Array (gt mbstring. httpinput gt passaggio mbstring. internalencoding Array (0 gt ISO-8859-1 1 gt nessun valore) mbstring. language gt neutro) mcrypt gt Array (versione GT 3.5.7 Api No gt 20.031.217) funzione ltphp phpinfoarray (return false) Andale Andale Yee-Hah obstArt () phpinfo (- 1) sezioni esplodono (.. lth2gt striptags (PI lth2gtltthgtlttdgt)) unset foreach (sezioni 0) array di pi () (sezioni come sezione) n substr (.. la sezione 0. strpos (sezione lth2gt)) pregmatchall (S (: lttdgt lttdgt) (.) (: lttdgt (.) lttdgt) (:. lttdgt ().. lttdgt) E, sezione askapache PREGSETORDER) foreach (askapache come m) PI nm 1 (isset (m 3) m 2 m 3) m 2: arrayslice (m. 2) di ritorno (return false). printr (PI). PI Questa funzione analizza l'uscita phpinfo per ottenere dettagli su un modulo PHP. ltphp analizzare moduli php parsePHPModules funzione phpinfo () obstArt () phpinfo (INFOMODULES) s obgetcontents () obendclean striptags () s (s. lth2gtltthgtlttdgt) s pregreplace (ltthgtgt (lt) ltthgt. ltinfogt1ltinfogt. s) s pregreplace (lttdgtgt (lt .) lttdgt ltinfogt1ltinfogt s) vTmp pregsplit ((lth2gtltlth2gt) s, -. 1. PREGSPLITDELIMCAPTURE) vModules array () per (i 1 i lt count (vTmp) i) se (pregmatch (lth2gt (lt). lth2gt vTmp I,. VMAT)) vName trim (VMAT 1) vTmp2 esplodere (n. vTmp I 1) foreach (vTmp2 AS Vone) VPAT ltinfogt (lt) ltinfogt vPat3 VPAT s VPAT s VPAT vPat2 VPAT s VPAT se (pregmatch (vPat3. Vone. VMAT) ) vModules vName trim (VMAT 1) array (trim (VMAT 2), tagliare (VMAT 3)) elseif (pregmatch (vPat2. Vone. VMAT)) vModules vName trim (VMAT 1) trim (VMAT 2) tornare vModules uscita gt campione : gd gt Array (GD Support GT abilitato GD versione GT bundle (2.0.28 compatibile) FreeType Supporto gt abilitato FreeType Linkage GT con freetype FreeType versione GT 2.1.9 T1lib Supporto gt abilitato GIF Leggi supporto gt abilitato GIF Creare Supporto gt abilitato il supporto JPG gt abilitato PNG Supporto gt abilitato WBMP Supporto gt abilitato XBM Support gt abilitato) data gt Array (datetime sostegno GT abilitato Fuso orario Database Versione GT 2.005,14 Fuso orario direttiva AmericaLosAngeles gt fuso orario gt database predefinito interno gt Array (0 GT valore locale 1 GT master Valore) data. timezone gt Array (0 GT nessun valore 1 gt nessun valore)) ltphp ottenere una regolazione modulo funzionale getModuleSetting (pModuleName. PSetting) vModules parsePHPModules () restituiscono vModules pModuleName PSetting GT Esempio: getModuleSetting (GD, GD Version) torna in bundle (2.0.28 compatibile) controllare questo fresco e fantastico phpinfo colorato () obstArt () phpinfo () phpinfo obgetcontents () obendclean ( ) pregmatchall (0-9a-fA-F. phpinfo. rawmatches) per (i 0 i lt contare (rawmatches 0) i) corrisponde rawmatches 0 i corrisponde arrayunique (partite) j 0 foreach (partite come partita) r cerca partita j per (I 0 I LT 6 i) r. substr (HexValue. mtrand (0. 15), 1) sostituzioni jr unset (r) per (i 0 i LT count (ricerche) i) phpinfo strreplace (Ricerche. sostituzioni. phpinfo) eco phpinfo gt Questa è una leggera modifica al codice precedente codice a Adspeed dot com che estrae i moduli PHP come una matrice. L'ho usato su PHP 4.1.2 ed è fallito come i tag lth2gt avevano anche un aligncenter. Quindi questo aggiornamento modifica l'espressione regolare per quei tag: analizzare i moduli PHP da parsePHPModules funzione phpinfo () obstArt () phpinfo (INFOMODULES) s obgetcontents () obendclean () s striptags (s lth2gtltthgtlttdgt.) S pregreplace (ltthgtgt (lt) ltthgt ltinfogt1ltinfogt. .. s) s pregreplace (lttdgtgt (lt) lttdgt ltinfogt1ltinfogt s) vTmp pregsplit ((lth2gtgtltlth2gt) s, -.. 1. PREGSPLITDELIMCAPTURE) vModules array () per (i 1 i lt count (vTmp) i) se (pregmatch ( lth2gtgt (lt) lth2gt. vTmp i, VMAT)) vName trim (VMAT 1) vTmp2 esplodere (n. vTmp I 1) foreach (vTmp2 AS Vone) VPAT ltinfogt (lt) ltinfogt vPat3 VPAT s VPAT s VPAT vPat2 VPAT s VPAT se (pregmatch (vPat3. Vone. VMAT)) vModules vName assetto (VMAT 1) array (finiture (VMAT 2), tagliare (VMAT 3)) elseif (pregmatch (vPat2. Vone. VMAT)) vModules vName trim (VMAT 1) tagliare (VMAT 2) tornare vModules gt sulla Simonds elegante esempio per nascondere connesso a username e password, che altrimenti appaiono in testo normale, il seguente dovrebbe funzionare per PHP 5.4: obstArt ltphp iniziare il buffer di uscita () inviare phpinfo contenuto phpinfo () ottenere contenuti phpinfo html obgetcontents () a filo il obendclean buffer di uscita () rimuovere i dati auth if (isset (SERVER PHPAUTHUSER)) html strreplace (SERVER PHPAUTHUSER, protetto. . Html) if (isset (SERVER PHPAUTHPW)) html strreplace (SERVER PHPAUTHPW, protetto HTML) per rimuovere gli elementi aggiuntivi, è sufficiente aggiungere loro come above. How per visualizzare le impostazioni PHP utilizzando una pagina di phpinfo In questo tutorial: Creare phpinfo Page View PHP Impostazioni PHP ha molte variabili ambientali che si è in grado di aggiornare in base alle esigenze. Ad esempio, potrebbe essere necessario aggiornare il MemoryLimit php per evitare che certi script da esaurire la memoria. Per modificare questi valori, è necessario innanzitutto essere in grado di vedere quello che sono. Per fare questo, è necessario creare una pagina phpinfo. Una pagina di phpinfo mostra tutte le impostazioni ambiente PHP. Una pagina di phpinfo è semplicemente una pagina php con il seguente codice: Come creare un phpinfo pagina se non sei familiarità con il modo di creare una pagina php, attenersi alla seguente procedura per creare una pagina phpinfo usare il File Manager. Accedi al tuo cPanel. Aprire il File Manager. Passare alla directory che si sta lavorando. Questo è importante perché ogni cartella può effettivamente essere impostato per avere differenti impostazioni PHP. In questo esempio, stiamo visualizzando le impostazioni di PHP per il nostro dominio principale, quindi stiamo navigando alla cartella publichtml. Nel menu principale, fare clic su Nuovo file. Quando viene richiesto il nome del file, digitare phpinfo. php (si può effettivamente essere chiamato nulla, phpinfo. php è semplicemente un nome comune per il file). Trova il file phpinfo. php nella lista dei file (che avrebbe dovuto aggiornati automaticamente). Fare clic destro su di esso e scegliere Modifica. Se si vede un prompt Editor di testo, scegliere UTF-8 dal menu a tendina e quindi su Modifica. Inserire il testo seguente: Come visualizzare le impostazioni di PHP È ora possibile accedere a questa pagina dal tuo browser. Se è stato creato il file nella cartella publichtml, allora si dovrebbe visitare examplephpinfo. php. Il risultato dovrebbe essere simile alla schermata qui sotto: Per trovare il valore specifico di un ambiente, la ricerca della pagina per quello che stai cercando. In questo caso, abbiamo utilizzato la nostra funzione di ricerca dei browser (Ctrl f) e cercato per MemoryLimit. Il primo valore che vedi è ciò che è impostato per la directory corrente (valore locale), e il valore di impostazione è il valore master. Il valore locale è l'impostazione attuale ed è il valore importante, in quanto i valori locali saranno ignorare il valore master: Si prega di notare che la pagina phpinfo ha molte impostazioni PHP che non volete trasmettere al mondo. Quando sei finito utilizzando il file, assicurarsi di eliminarlo. Un altro itinerario si può prendere invece di eliminarlo, tuttavia, è di assegnare al file qualcosa di diverso phpinfo. php. Come phpinfo. php è un nome così comune, bot sul web in modo casuale la ricerca di file denominati phpinfo. php. Impostare il nome del file per una cosa del genere 9823592374823.php non sarebbe mai stato indovinato da un bot (in modo che nessuno avrebbe mai trovarlo), tuttavia può essere difficile per voi per ricordare questo in futuro. Se è necessario modificare uno di questi valori, si prega di consultare il nostro articolo: Come aggiornare le impostazioni php locali Dedicato PHP Hosting server dedicato InMotion sono dotati di PHP. Un linguaggio di programmazione popolare usato da molte piattaforme CMS. Se siete interessati nella gestione di un proprio server, per saperne di più sui nostri piani di hosting dedicato.
No comments:
Post a Comment