Monday 7 August 2017

Forexpf Quote Show Php Config


Php-config php-config é um script de shell simples para obter informações sobre a configuração de PHP instalada. Ao compilar as extensões, se você tiver várias versões do PHP instaladas, você pode especificar para qual instalação você gosta de construir usando a opção --with-php-config durante a configuração, especificando o caminho do respectivo script php-config. A lista das opções de linha de comando fornecidas pelo script php-config pode ser consultada a qualquer momento executando o php-config com a opção - h: Opções de linha de comando Diretório prefixo onde o PHP está instalado, por exemplo. Usrlocal Lista de opções - I com todos os arquivos de inclusão LD Flags que o PHP foi compilado com bibliotecas extras que o PHP foi compilado com o Diretório onde as extensões são pesquisadas pelo prefixo de diretório padrão onde os arquivos de cabeçalho são instalados por padrão Caminho completo para php CLI ou CGI Mostrar tudo Módulos SAPI disponíveis Configurar opções para recriar a configuração da instalação atual do PHP Versão PHP como inteiro Notas Contribuídas pelo Usuário Não há notas contribuídas pelo usuário para esta página. Descrição bool phpinfo (int que INFOALL) Produz uma grande quantidade de informações sobre o estado atual do PHP. Isso inclui informações sobre as opções e extensões de compilação do PHP, a versão do PHP, as informações do servidor e o ambiente (se compilado como um módulo), o ambiente do PHP, as informações da versão do sistema operacional, os caminhos, os valores mestres e locais das opções de configuração, os cabeçalhos HTTP e o PHP Licença. Como cada sistema está configurado de forma diferente, phpinfo () é comumente usado para verificar as configurações e as variáveis ​​predefinidas disponíveis em um determinado sistema. Phpinfo () também é uma valiosa ferramenta de depuração, pois contém todos os dados do EGPCS (Ambiente, GET, POST, Cookie, Servidor). Parâmetros A saída pode ser personalizada passando uma ou mais das seguintes constantes de valores constantes de bits somados em um parâmetro opcional. Pode-se também combinar as constantes respectivas ou os valores de bits junto com o operador ou. Uma nota sobre o exemplo muito útil por jon no sitewizard dot ca. As seguintes afirmações: Declaração 1: phpinfoend (arraykeys (phpinfo)) match2 isset (match4). Array (match3, match4). Match3 Declaração 2: phpinfoend (arraykeys (phpinfo)) match2 Estas duas linhas produzirão o erro Padrões estritos: somente as variáveis ​​devem ser passadas por referência em. A raiz do erro está no uso incorreto da função final (). O código funciona, mas lança o referido erro. Para resolver esta tentativa, use as seguintes instruções: Declaração 1 revisão: chaves arraykeys (phpinfo) phpinfoend (keys) match2 isset (match4). Array (match3, match4). Match3 Declaração 2 revisão: chaves arraykeys (phpinfo) phpinfoend (keys) match2 Isso corrige o erro. Para embrulhar tudo em um exemplo: ltphp function quickdevinsightsphpinfo () obstart () phpinfo (11) phpinfo array (phpinfo gt array ()) if (pregmatchall ((: lth2gt (: lta name. gt) (.) (: Ltagt) Lth2gt) (: lttr (. Class.) Gtltthd (. Class.) Gt (.) Sltthdgt (: ltthd (. Class.) Gt (.) Sltthdgt (: ltthd (. Class.) Gt (.) Sltthdgt)) lttrgt ) S. Obgetclean (), matches. PREGSETORDER)) foreach (combina como correspondência) se (strlen (match 1)) phpinfo match 1 array () elseif (isset (match 3)) keys1 arraykeys (phpinfo) phpinfo end (keys1) Match 2 isset (correspondência 4). Matriz (correspondência 3, partida 4). Match 3 else keys1 arraykeys (phpinfo) phpinfo end (keys1) match 2 if (empty (phpinfo)) foreach (phpinfo como nome gt seção) echo lth3gt name lth3gtnlttable classwp-list-table widefat fixed pagesgtn foreach (seção como chave gt val) if (IsArray (val)) eco lttrgtlttdgt chave lttdgtlttdgt val 0 lttdgtlttdgt val 1 lttdgtlttrgtn elseif (isstring (chave)) eco lttrgtlttdgt chave val lttdgtlttdgt lttdgtlttrgtn else echo lttrgtlttdgt val lttdgtlttrgtn eco lttablegtn else echo lth3gtSorry, a função phpinfo () não é acessível. Talvez, seja desativado, hrefphp. netmanualenfunction. phpinfo. php gtVeja a documentação. ltagtlth3gt gt Francamente, pensei no problema de adicionar esta nota porque o exemplo de jon no sitewizard dot ca provavelmente é o melhor na web e achou que era infeliz Que ele lança erros. Espero que isso seja útil para alguém. Eu precisava de uma maneira de percorrer rapidamente o phpinfo, que é uma grande lista de informações. Então aqui está. No topo, há uma lista com seções, as novas extensões de seção carregadas mantêm os links para as âncoras dos módulos carregados. As variáveis ​​da sessão de seção mostrarão as atuais sessões carregadas. Está usando o Domdocument para manipulação para que você tenha que carregar: ltphp obstart () exts getloadedextensions () phpinfo () phpinfo obgetcontents () obendclean () print phpinfo htmlstr phpinfo html novo DOMDocument () html - gt loadHTML (htmlstr) título html - gt GetElementsByTagName (título) - gt item (0) title - gt nodeValue Versão PHP. Phpversion () body html - gt getElementsByTagName (body) - gt item (0) body - gt setAttribute (estilo. Background-color: bege) corpo da tabela html - gt getElementsByTagName (tabela) - gt item (3) - gt nextSibling head html - gt getElementsByTagName (tabela) - gt item (0) - gt nextSibling obstart () gt lth2gtlta namesessionvariablesgtSessão de variáveisltagtlth2gt lttable border0 cellpadding2 width600gt lttr classhgtltthgtVariablesltthgtltthgtValueltthgtlttrgt ltphp foreach (SESSÃO como valor de chave gt) se (isbool (value)) value (value) true. Falso mais se (isarray (value)) value ltpregt. Printr (value. True). ltpregt else if (vazio (valor) valor ampamp 0) valor 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 como valor) versão Phpversion (value) gt lttrgt lttd classe stylewidth: 150pxgtlta hrefmodule ltvaluegt stylecolor: preto background-color: ccccffgt ltvaluegt ltagtlttdgt lttd classvgt lt (vazio (versão)). LtigtUnknownltigt gt lttdgt lttrgt ltphp gt lttablegtltbr gt ltphp txtstr obgetcontents () obendclean () txt novo DOMDocument () txt - gt loadHTML (txtstr) txtbody txt - gt getElementsByTagName (corpo) - gt item (0) foreach (txtbody - gt childNodes como filho ) Child html - gt importNode (filho. Verdadeiro) table - gt parentNode - gt insertBefore (tabela infantil.) H2 html - gt getElementsByTagName (h2) foreach (h2 como item) se (item - gt getElementsByTagName (a) - gt length 0 ) Item de valor - gt nodeValue item - gt nodeValue um html - gt createElement (a) a - gt setAttribute (nome. Strtolower (strreplace (.. Value))) - gt nodeValue item do valor - gt appendChild (a) um item - Gt getElementsByTagName (a) - gt item (0) se (inarray (a - gt nodeValue. Exts)) menu strtolower (strreplace (.. A - gt nodeValue)) a - gt nodeValue topa html - gt createElement (a) se ( Inarray (a - gt nodeValue. Exts)) txt html - gt createTextNode ((Ir para o topo)) topa - gt appendChild (txt) topa - gt setAttribute (href. ) Else txt html - gt createTextNode ((Ir para a lista de extensões)) topa - gt appendChild (txt) topa - gt setAttribute (href. Loadedextensions) topa - gt setAttribute (estilo. Background-color: bege font-size: 12px margin-left : 5px margem-superior: -5px cor: preto) item - gt appendChild (topa) obstart () gt ltbr gt lttable border0 cellpadding2 width600gt lttr classhgtltth colspan2gtSectionsltthgtlttrgt lttrgt ltphp i 0 foreach (menu como elemento gt chave) print lttd classvgtlta href key stylebackground - color: cccccc cor: blackgt item ltagtlttdgt if (i 2) print lttrgtlttrgt i if (i 2) print lttd classvgtlttdgt gt lttrgt lttablegt ltphp txtstr obgetclean () txt novo DOMDocument () txt - gt loadHTML (txtstr) txtbody txt - gt getElementsByTagName (Corpo) - gt item (0) foreach (txtbody - gt childNodes como filho) child html - gt importNode (child. True) table - gt parentNode - gt insertBefore (child. head) print html - gt saveHTML () gt Depois de ler E tentando várias funções, eu poderia Nt encontre um que analise corretamente todas as configurações, tira qualquer tag html esquerdo e converte caracteres especiais em UTF8 (p. Amp039), então criei o meu próprio, melhorando os existentes: função phpinfo2array () entityToUtf8 (entrada) php. netmanualenfunction. html-entity-decode. php104617 return pregreplacecallback ((amp0-9), função (m), Entrada) função de plainText (entrada) use (entityToUtf8) return trim (htmlentitydecode (entityToUtf8 (striptags (entrada)))) titlePlainText função (entrada) use (plainText) return. plainText (entrada) phpinfo array (phpinfo gt array ()) Strip Tudo depois da marca 1figuraçãoConfiguração1a1gt (outros h1s) se (pregmatch ((.lth1gtgtsConfiguration.) Lth1s, obgetclean (), matches)) return array () input matches1 combine array () if (pregmatchall ((: lth2.gt (: lta. Gt) (.) (: Ltagt) lth2gt). (: Lttr. gtltthd. gt (.) Sltthdgt (: ltthd. gt (.) Sltthdgt (: ltthd. gt (.) Sltthdgt)) lttrgt) s, entrada, fósforos , PREGSETORDER)) foreach (combina como correspondência) fn strpos (match0, ltth) false. texto simples. 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) else keys1 arraykeys (phpinfo) phpinfoend (keys1) fn (match2) A saída parece ser assim (observe que os cabeçalhos também estão incluídos, mas são prefixados, por exemplo, Diretiva): Array (phpinfo gt Array (versão PHP de 0 gt 5.6.5 Sistema gt Darwin Calins-MBP 15.0.0 Darwin Kernel Versão 15.0.0: Qua 26 de agosto 19:41:34 PDT 2015 root: xnu-3247.1.106 5RELEASEX8664 x8664 Data de criação gt 19 de fevereiro de 2015 18:34:18 Registrado Stream Socket Transports gt tcp, udp, unix, udg, ssl, sslv3, sslv2, tls, tlsv1.0 Filtros de fluxo registrados gt zlib., Bzip2., Convert. iconv., String. rot13, string. toupper, string. tolower, String. striptags, convert., Consumed, dechunk 1 gt Este programa faz uso do 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 Administrador do servidor gt webmasterdummy-host2.example Nome do host: Port gt sitestacker. local: 0 Diretiva gt Array (0 gt Valor local 1 gt Master Valu E) Isto é necessário para obter uma validação W3C (XHTML1.0 Transitionnal). A saída phpinfos é declarada com essa DTD: - O ID do sistema possui a URL errada para validar. DTDxhtml1-transitional. dtd em vez de w3.orgTRxhtml1DTDxhtml1-transitional. dtd - Alguns nomes de módulos contém espaço e as funções de saída usam o nome em âncoras como ID e NAME. Esses atributos não podem ser validados assim (nome exclusivo apenas). Obstart () Capturando phpinfo () phpinfo () info trim (obgetclean ()) output Substitua espaço em branco em atributos ID e NAME. Se existe informação pregreplace ((idname) () () i. 123. info) infodoc new DOMDocument (1.0. Utf-8) Parse phpinfos output operator usado para evitar mensagens sobre entidades indefinidas ou use loadHTML em vez de infodoc - gt loadXML (info) Doc - gt documentElement - gt appendChild (Adicionando elemento HEAD para HTML doc - gt importNode (infodoc - gt getElementsByTagName (head) - gt item (0), true Com toda a subárvore)) doc - gt documentElement - gt appendChild (Adicionando o elemento BODY Para HTML doc - gt importNode (infodoc - gt getElementsByTagName (body) - gt item (0), true Com toda a subárvore)) Agora você obtém uma saída limpa e você pode validar. Echo (doc-gtsaveXML ()) OU echo (doc-gtsaveHTML ()) Por isso é fácil adicionar alguma declaração de estilo: style doc - gt getElementsByTagName (estilo) - gt item (0) style - gt appendChild (doc - gt CreateTextNode (ALGUNS NOVAS REGRAS CSS PARA ADICIONAR À SAÚDE DE FUNÇÕES)) para adicionar mais informações para exibir: body doc - gt getElementsByTagName (body) - gt item (0) elemento doc - gt createElement (p) element - gt appendChild (doc - gt createTextNode (ALGUNS NOVO CONTEÚDO PARA EXIBIR)) body - gt appendChild (elemento) para adicionar um novo cabeçalho: head doc - gt getElementsByTagName (head) - gt item (0) meta doc - gt createElement (meta) meta - gt setAttribute (Nome do autor) meta - gt setAttribute (content. arimbourg at ariworld dot eu) head - gt appendChild (meta) Como você deseja, pegue o resto do resultado e adicione-o para depuração obbeclean () pre doc - gt createElement ( Div) ou pre pré-gt setAttribute (estilo. White-space: pre) para um elemento div, inútil com pre pré-gt AppendChild (doc - gt createTextNode (out)) body - gt appendChild (pré) doc - gt formatOutput true Para um bom indentation doc - gt saveXML () Tudo o que poderia ser feito com apenas o RegExp, mas prefiro o uso do DOM para manipular documentos Eu queria uma função simples para converter a saída do phpinfo em uma matriz. É o que eu criei graças a muitas dicas de autores anteriores e ao arquivo de origem: php-5.2.6extstandardinfo. c Ligue para esta função como phpinfoarray () imprime a matriz, phpinfoarray (1) retorna a matriz para o seu próprio processamento. Exemplo de Configuração PHP Configuração gt Array (Versão PHP gt 5.2.6 PHP Egg gt PHPE9568F34-D428-11d2-A769-00AA001ACF42 Sistema gt Linux askapache 2.6.22.19-grsec3 Data de compilação gt Nov 11 2008 13:09:07 Configure Command gt. configure --prefixhomegrsecbinphp Server API gt FastCGI IPv6 Suporte gt habilitado Zend Egg gt PHPE9568F35-D428-11d2-A769-00AA001ACF42 Créditos PHP 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 sem valor) mbstring. language gt neutral) mcrypt gt Array (Versão gt 3.5.7 Api No gt 20031217) Função ltphp phpinfoarray (return false) Andale Andale Yee-Hah obstart () phpinfo (- 1) seções explodem (lth2gt. Striptags (pi. Lth2gtltthgtlttdgt)) unset (seções 0) array pi () foreach (seções como seção) n substr (seção 0. strpos (seção. Lth2gt)) pregmatchall (S (: Lttdgt (.) Lttdgt) (: lttdgt (.) Lttdgt) (: lttdgt (.) Lttdgt) E, seção. Askapache. PREGSETORDER) f Oreach (askapache como m) pi n m 1 (isset (m 3) m 2 m 3) m 2: arrayslice (m. 2) retornar (retornar falso). Printr (pi). Pi Esta função analisa a saída phpinfo para obter detalhes sobre um módulo PHP. Ltphp parse php modules da função phpinfo parsePHPModules () obstart () phpinfo (INFOMODULES) s obgetcontents () obendclean () s striptags (s. Lth2gtltthgtlttdgt) s pregreplace (ltthgtgt (lt) ltthgt. Ltinfogt1ltinfogt. S) pregreplace (lttdgtgt (lt ) Lttdgt. Ltinfogt1ltinfogt. S) vTmp pregsplit ((lth2gtltlth2gt). S, - 1. PREGSPLITDELIMCAPTURE) vModules array () para (i 1 i lt count (vTmp) i) if (pregmatch (lth2gt (lt) 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) ) VModules vName trim (vMat 1) array (trim (vMat 2), trim (vMat 3)) elseif (pregmatch (vPat2. VOne. VMat)) vModules vName trim (vMat 1) trim (vMat 2) return vModules gt Sample Output : Gd gt Array (Suporte GD gt habilitado GD Versão gt empacotado (2.0.28 compatível) FreeType Suporte gt habilitado FreeType Li Nkage gt com freetype FreeType Versão gt 2.1.9 T1Lib Suporte gt habilitado GIF Read Support gt habilitado GIF Criar Suporte gt habilitado JPG Suporte gt habilitado PNG Suporte gt habilitado WBMP Suporte gt habilitado XBM Suporte gt habilitado) data gt Array (data de suporte gt habilitado Fuso horário Versão do banco de dados gt 2005.14 Base de fuso horário gt interno Fuso horário padrão gt Diretriz AmericaLosAngeles gt Array (0 gt Valor local 1 gt Valor mestre) date. timezone gt Array (0 gt no value 1 gt no value)) ltphp Obtém uma função de configuração do módulo getModuleSetting (pModuleName . PSetting) vModules parsePHPModules () return vModules pModuleName pSetting gt Exemplo: getModuleSetting (gd, GD Version) retorna empacotado (compatível com 2.0.28) confira este phripfo colorido e fantástico () obstart () phpinfo () phpinfo obgetcontents () obendclean ( ) Pregmatchall (0-9a-fA-F. Phpinfo. Rawmatches) para (i 0 i lt count (rawmatches 0) i) combina com rawmatches 0 i combina arrayunique (matches) j 0 foreach (combina como correspondência) r pesquisas j match for (I 0 i lt 6 i) r. Substr (hexvalue. Mtrand (0. 15), 1) substituições jr unset (r) para (i 0 i lt count (pesquisas) i) phpinfo strreplace (pesquisas. Substituições. Phpinfo) echo phpinfo gt Esta é uma pequena modificação para o Código anterior por código no adspeed dot com que extrai os módulos PHP como uma matriz. Eu usei-o no PHP 4.1.2 e falhou porque as tags lth2gt também tinham um alinhador. Portanto, esta atualização altera o regex para essas tags: analise os módulos php da função phpinfo parsePHPModules () 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 () para (i 1 i lt count (vTmp) i) if (pregmatch ( Lth2gtgt (lt) 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 (PreMM (vMat) vMat (vMat 1) array (trim (vMat 2), trim (vMat 3)) elseif (pregmatch (vPat2. VOne. VMat)) vModules vName trim (vMat 1) trim (VMat 2) retorna vModules gt Com base no exemplo elegante de SimonDs para ocultar o nome de usuário e a senha logados, whic H aparece em texto simples, o seguinte deve funcionar para o PHP 5.4: ltphp start output buffering obstart () enviar phpinfo content phpinfo () obter phpinfo content html obgetcontents () descarregar o buffer de saída obendclean () remover dados de autenticação se (isset (SERVER PHPAUTHUSER)) html strreplace (SERVER PHPAUTHUSER, protegido. Html) se (isset (SERVER PHPAUTHPW)) html strreplace (SERVER PHPAUTHPW, protegido html) Para remover itens adicionais, basta adicioná-los como acima.

No comments:

Post a Comment