Ferramentas do usuário

Ferramentas do site


info:php:apaphpport:start

Sobre PHP - Apache + PHP sem instalação no Windows

  • A seção Sobre PHP começou com este guia
    • Que fiz em meu trabalho originalmente
    • Algumas coisas configurei, pois eram bem específicas
    • e não são necessárias para o objetivo final estabelecido aqui
  • Guia de montagem de ambiente com Apache e PHP para rodar sem instalação.
  • Talvez seja necessário editar o arquivo hosts
    • em C:\Windows\System32\drivers\etc
    • e remover '#' da linha
      • 127.0.0.1 localhost
  • Testado no Windows 8.1
  • Espaço utilizado em disco: 114 MB
    • até o momento

Software para download

    • A arquitetura (x64 ou x32) pode ser conferida no Windows
      • Painel de Controle
        • Sistema e Segurança
          • Sistema
            • Tipo de sistema
    • A versão escolhida aqui influenciará na escolha da versão do PHP

De apoio, nao obrigatório

  • Meld - Meld 3.20.0
    • Ferramenta de visualização de diferenças e junção entre dois ou mais arquivos/diretórios
    • Util para comparação entre arquivo antigo e uma nova versão do mesmo
    • Editor de texto com diversas funcionalidades

Estrutura de Pastas

  • Não há necessariamente um padrão a ser seguido, abaixo é apenas um exemplo
    • O importante é que uma vez estruturado as pastas, afeta diretamente os arquivos de configuração
      • tanto do Apache
      • quanto do PHP.
  • <<caminho (path) desejado - C:\ ou D:\ ou E:\ etc>>
    • server\
      • << arquivos apache >>
      • php\
        • << arquivos php >>
        • php_xdebug.dll
    • www\
      • pasta onde ficarão os diretórios e arquivos HTML/CSS/JS/PHP da aplicação
      • index.php
    • start_server.cmd
      • Arquivo batch que inicia o serviço
      • Ao final da página estará disponível para download
        • Facilita a execução e a finalização de serviço Apache/PHP

Arquivos de configuração

  • Esta seção indica
    • quais as alterações mínimas e necessárias
    • nos arquivos de configuração
      • do Apache
      • e do PHP

php.ini

  • Inicialmente existem dois tipos de arquivos:
    • php.ini-development
    • php.ini-production
      • Independente de qual seja usado,
      • deve-se renomenar um deles para php.ini
  • as configurações devem ser aplicadas conforme abaixo
    • se baseiam em nosso servidor de Produção
    • se as configurações estiverem iniciando a linha com ';'
      • este deve ser apagado
        • afim de que a linha surta efeito
  • extension_dir = “<< caminho de sua estrutura de pastas >>\ext”
    • exemplo: C:\server\php\ext
      • sendo C:\server\
        • onde estão os arquivos provenientes da descompactação do arquivo ZIP do Apache
      • e C:\server\php\
        • onde estão os arquivos provenientes da descompactação do arquivo ZIP do PHP
  • As configurações abaixo refletem o nome existente na própria pasta do PHP
  • extension=php_gd2.dll
  • extension=php_ldap.dll
  • extension=php_mbstring.dll
  • extension=php_pgsql.dll

X-Debug

  • seção não obrigatória
  • Para uso do X-Debug necessário fazer download da dll para Windows
  • Após o download, acrescentar ao final do arquivo php.ini nova seção para XDEBUG
    • só isso não basta para depuração de código
      • é necessário configurar IDE para reconhecer as configurações
[xdebug]
zend_extension=<<caminho de sua estrutura de pastas do PHP>>\php_xdebug.dll
xdebug.idekey=<<qualquer nome, a principio>>
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_log="xdebug.log"

httpd.conf

  • as configurações devem ser aplicadas/modificadas conforme abaixo
    • se as configurações estiverem iniciando a linha com '#'
      • este deve ser apagado
        • afim de que a linha surta efeito
  • Define SRVROOT “<< caminho/path dos arquivos provenientes da descompactação do arquivo ZIP do Apache >>”
  • Listen 8800
    • Pode ser outra porta válida
  • LoadModule access_compat_module modules/mod_access_compat.so
  • LoadModule authz_core_module modules/mod_authz_core.so
  • LoadModule dir_module modules/mod_dir.so
  • LoadModule mime_module modules/mod_mime.so
  • LoadModule ldap_module modules/mod_ldap.so
  • LoadModule rewrite_module modules/mod_rewrite.so
  • ServerAdmin << seu e-mail >>
  • DocumentRoot “${SRVROOT}/../www”
  • <Directory “${SRVROOT}/../www”>
  • Acrescentar ao final do arquivo as configurações abaixo
  • Define PHPROOT “<< caminho/path dos arquivos provenientes da descompactação do arquivo ZIP do PHP >>”
  • Loadfile ${PHPROOT}/icuuc63.dll
  • Loadfile ${PHPROOT}/icuin63.dll
    • ##Atenção##: as duas bibliotecas acima tem versões diferentes em outras versões do PHP
  • Loadfile ${PHPROOT}/glib-2.dll
  • LoadFile ${PHPROOT}/libpq.dll
  • LoadModule php7_module php/php7apache2_4.dll
  • AddHandler application/x-httpd-php .php
  • PHPIniDir ${PHPROOT}
  • AcceptPathInfo off
  • KeepAlive on
  • KeepAliveTimeout 15
  • TimeOut 30
  • DirectoryIndex index.html index.php

Arquivos de apoio

  • Dois script são disponibilizados abaixo para uso
    • e validação do objetivo desta página

Batch script

start_server.cmd
@echo off
goto begin
 
:usage
echo Usage: %~n0
echo.
echo Iniciar o serviço Apache/PHP e aguarda pressionar ENTER para encerrar
goto end
 
:begin
if not "%1"=="" goto usage
 
set DIRATUAL=%~dp0
set PATH=%DIRATUAL%server\php;%DIRATUAL%server\php\ext;%PATH%;
 
start /B %DIRATUAL%server\bin\httpd.exe
echo Iniciando serviço...
echo.
 
:runbrowser
echo O seu navegador abrirá a aba http://localhost:8800
echo.
 
start http://localhost:8800/
 
:wait
echo Pressione ENTER para encerrar o serviço...
pause
 
:stop
taskkill /IM "httpd.exe" /F
echo Você pode fechar esta janela agora...
 
:end

PHP info script

index.php
<?php
 
    phpinfo();
 
?>
© 2019 por Samuel