Instalando o PHP 5.3.x – x86 – VC9 – Thread Safe no Windows 7
Está é a 2ª etapa de um total de três etapas de um super tutorial que aborda a instalação individual do Apache2.2, PHP5.3.x, e Mysql5.5.x, etapas essas que descrevi em uma breve introdução na postagem Instalando PHP 5.3.x VC9 + APACHE + MySQL no Windows 7.
Agora nesta etapa vamos aprender a instalar o PHP 5.3.x VC9 TS para rodar com o Apache Lounge sob o sistema operacional windows 7. A instalação do Apache Lounge foi explicada na 1ª etapa, postada em Instalando o Apache 2.2, compatível com versão VC9 do PHP, no Windows 7, postagem essa que explica sobre a possibilidade de instalar o PHP VC9 também sob o Apache e não somente sob o IIS.
ATENÇÃO: É de extrema necessidade ter acompanhado a 1ª etapa para poder ter maior proveito desta 2ª etapa.
Tendo suprido esses requisitos vamos ao pote de ouro então...
Observação: Na data de publicação deste tutorial a versão mais recente do PHP era a 5.3.5, baixe a versão mais atual.
1- Acesse o site oficial do PHP para download, mais especificamente em windows.php.net/download que nos fornece exatamente os binários do PHP para serem instalados no Windows, que no nosso caso será uma instalação do PHP 5.3.x no Windows 7.
OBSERVAÇÃO
Caso não consiga fazer download do binário do PHP para Windows no site oficial, segue logo abaixo um link alternativo para baixar o PHP do meu servidor.
Estou disponibilizado essa opção, pois as vezes o site oficial está OFF, como por exemplo no momento que atualizo essa postagem. -> (19/03/2011 - 16:05 Hora de Brasília).
Mas só usem o link abaixo caso o site oficial esteja fora do ar.
Link alternativo para download do php-5.3.5-Win32-VC9-x86.zip - Aproximadamente 15MB:
http://www.sistemabasico.com.br/recursos/php-5.3.5-Win32-VC9-x86.zip
Note que pra quem não sabe exatamente o que deseja, pode confundir-se sobre qual distribuição baixar. Nesse tutorial utilizo a versão 5.3.5 VC9 Thread Safe em ZIP, mas porque? Afinal lá tem a VC9, a VC6 e tem também Non Thread Safe... Porque escolhi exatamente a versão do PHP 5.3.x VC9 e Thread Safe? hehehe Calma... a sede de conhecimento é grande e eu entendo e por isso vou explicar alguns pontos que podem ajudar a entender o porque desta escolha.
- Diferença entre VC6 e VC9:
No manual do PHP diz que se você for utilizar o PHP com Apache baixados do site apache.org, então você precisaria usar a versão VC6.
Se estiver usando PHP com servidor IIS você precisará usar versões do PHP VC9, porém se você acompanhou este tutorial desde sua 1ª Etapa, sabe que ensino uma alternativa que possibilita a instalação do PHP VC9 com Apache.
VC6 - Versões compiladas com Visual Studio 6
VC9 - Versões compiladas com o Visual Studio 2008 que tem otimizações em performance e estabilidade. As versões VC9 requerem que você tenha instalado o Microsoft 2008 C++ Runtime (x86) ou o Microsoft 2008 C++ Runtime (x64) para casos de arquiteturas 64 bits. (esta arquitetura não será abordada nesse tutorial).
- Diferença entre Thread Safe (TS) e Non Thread Safe (NTS):
De acordo com um artigo que li no site iis-aid.com devemos utilizar o NTS em servidores IIS com PHP rodando em Fast CGI e TS em servidores rodando o PHP como módulo do Apache, que é justamente o nosso caso nesse tutorial.
Para mais informações e um compreendimento melhor sobre TS e NTS leia o seguinte artigo em inglês:
http://www.iis-aid.com/articles/my_word/difference_between_php_thread_safe_and_non_thread_safe_binaries.
Sanadas estas dúvidas a respeito, vamos em frente.
2- Após baixar a versão PHP 5.3.x VC9 e Thread Safe em ZIP, descompacte os arquivos e coloque a pasta dentro do C:\ e renomeie a pasta principal do PHP para a seguinte forma C:\php.
3- Vamos agora configurar o PHP . Procure dentro da pasta do PHP dois arquivos chamados php.ini-development e php.ini-production. Encontrado esses dois arquivos cabe agora definirmos qual é mais apropriado às nossas necessidades.
Basicamente as diferenças entre php.ini-development e php.ini-production são essas:
php.ini-development: Voltado para desenvolvedores, como já diz no próprio nome, sua configuração já está direcionada às necessidades de um desenvolvedor, como por exemplo o tratamento da exibição de erros de forma que o desenvolvedor possa visualizar e acompanhar o que vai acontecendo com suas aplicações na hora de testes.
php.ini-production: Como também já diz no nome, está mais voltado para usuários finais, ou seja, que não são desenvolvedores e que acessam páginas em PHP, onde no mesmo exemplo de erros temos um tratamento e exibição de forma diferente, utilizado por servidores de hospedagem.
Em nosso caso queremos a versão php.ini-development.
Abra este arquivo com o Bloco de notas e após as modificações que citarei mais abaixo 'salve como' php.ini apenas.
Configurações básicas e necessárias:
Dica: Role a rolagem com calma e leia com atenção as diretivas.
Substitua os valores das diretivas citadas logo abaixo para os respectivos valores informados:
post_max_size = 50M # retire o ';' do início da diretiva extension_dir para ativa-la extension_dir = "C:/php/ext" upload_max_filesize = 50M # na lista de extensões, retire o ';' do início da linha para ativar as seguintes extensões extension=php_curl.dll extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll extension=php_xmlrpc.dll
Para utilizar outras extensões procure informações detalhadas e específicas para cada extensão que desejar utilizar. Por enquanto as que eu indiquei logo acima, serão o suficiente para termos um PHP bem funcional.
Se você quiser enviar e-mails usando a função mail () do PHP, deverá inserir os detalhes de um servidor SMTP (servidor de seu provedor deverá dar suporte à este tipo de utilização, recomendo o Gmail), para inserir os detalhes de um servidor SMTP procure por:
[mail function] ; For Win32 only. SMTP = mail.myisp.com smtp_port = 25 ; For Win32 only. sendmail_from = my@emailaddress.com
Altere os valores de SMTP, smtp_port e sendmail_from, para os valores respectivamente de seu servidor SMTP e seu email, mas nem todos os seviores SMTP de provedores de terceiros darão suporte à esta utilização local, procure mais informações a respeito, tente o Gmail por exemplo.
4- Para garantir que o Windows possa encontrar o PHP, você precisa alterar PATH nas Variáveis de Ambiente.
Nota: Hoje em nosso caso não precisamos mais colocar o aquivo php.ini na pasta c:\Windows basta seguir as instruções a seguir para que o Windows encontre o PHP.
Faça da seguinte forma:
No Painel de Controle, escolha Sistema e Segurança, depois Sistema, depois no menu lateral, do lado esquerdo, escolha Configurações avançadas do sistema. Isso abrirá uma janela e com a aba AVANÇADO selecionada, clique no botão "Variáveis de Ambiente ", na próxima janela será onde devemos efetuar as modificações que ilustro logo abaixo.
Percorra a lista de Variáveis do Sistema e clique em "PATH", depois no botão "Editar".
Digite ";C:\php" ao final da linha, exatamente depois de todas as entradas já existentes (não esqueça do ;). Clique em Ok e feche as janelas.
Se tiver dúvidas, olhe a imagem logo abaixo, que está em Inglês, mas não terá dificuldade de identificar no seu Windows 7 caso ele seja em Português.

Observação: Na ilustração acima a última entrada antes de ;c:\php não necessáriamente será a última que estará no seu computador, portanto ignore o valor que estiver, apenas coloque o php no final, sem esquecer do ';' na frente.
ATENÇÃO: Agora, antes de seguir adiante, você precisa necessariamente reiniciar o Windows 7.
5- Após o sistema ser reiniciado vamos configurar o PHP 5.3.x VC9 TS como um módulo do Apache, para isso deve ter acompanhado a 1ª etapa do tutorial e ter o Apache devidamente instalado. Vamos efetuar algumas configurações no arquivo httpd.conf localizado dentro do diretório do Apache na pasta conf/, mais precisamente nesse caminho: c\:Apache2\conf\httpd.conf.
Após abrir o arquivo com o bloco de notas vamos efetuar as modificações:
Deixe os valores das seguintes diretivas abaixo exatamente como ilustrado a seguir:
# adicione index.php antes ou depois de index.html DirectoryIndex index.php index.html
- Role a rolagem até o final do arquivo e depois de tudo adicione o seguinte:
PHPIniDir "C:\php" LoadModule php5_module "C:\php\php5apache2_2.dll" <IfModule mod_mime.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule>
Salve as alterações e reinicie o Apache (Se acompanhou a 1ª etapa deste tutorial, já deve saber como reiniciar o Apache)
6- Vamos agora testar um arquivo PHP, portanto abra seu editor web preferido, crie um novo documento PHP e coloque em seu conteúdo a seguinte linha:
<?php phpinfo(); ?>
Salve o arquivo como index.php na pasta D:\web que criamos na 1ª etapa do tutorial, quando instalamos o Apache.
Abra o seu navegador web preferido, recomendo Firefox, e acesse o endereço http://localhost e se tudo estiver ok, será exibido as informações sobre o PHP que acabamos de instalar.
Espero que tenham aprendido bastante!
Aproveite essa vontade de aprender e complete seu servidor de desenvolvimento, conferindo a 3ª e última etapa deste super tutorial e saiba como instalar o MySQL 5.5.8 no windows 7.
Bons estudos!


janeiro 14th, 2011 - 11:18
Prezado Roberto Lunelli,
Parabéns pela belíssima explicação. Nunca vi um tutorial tão perfeito quanto o seu. Parabéns!
janeiro 14th, 2011 - 11:52
Olá @Kênio, obrigado pela consideração.
janeiro 17th, 2011 - 17:39
No meu diretorio php nao tem essa dll php5apache2_2.dll
onde a consigo
janeiro 17th, 2011 - 23:24
Olá @Flaviano, se você fez o download da distribuição do PHP exatamente como indiquei, então você deveria ter esse arquivo sim.
Sugiro efetuar o download novamente e seguir os passos do tutorial. A versão é para Windows, não esqueça… lembre também que é a versão VC9 Thread Safe e não a VC9 Non Thread
Safe… e além de tudo, eu instrui a instalação da versão ZIP e nenhuma outra. O link para o download e as informações bem detalhadas sobre qual a distribuição correta estão no tutorial.
O Link direto para download da versão e distribuição correta para poder acompanhar o tutorial é este: http://windows.php.net/downloads/releases/php-5.3…
janeiro 19th, 2011 - 15:09
parabéns! Precisamos de pessoas de bem com a vida.
janeiro 23rd, 2011 - 00:42
Olá,
instalei conforme o tutorial, mas quando vou reniciar o apache com o php já devidamente configurado aparece a mensagem "The requested operation has failed", ou seja, "A operação solicitada falhou", porém quando coloco o comando para colocar o modulo php no apache como comentário o servidor vol funcionar normalmente. Que o sistema não "lê" a dll php5apache2_2.dll.
Você sabe como me ajudar????
janeiro 23rd, 2011 - 00:56
Roberto desculpe mas conseguir resolver o problema baixei o php nts depois que percebi fiquei muito tempo quebrando a cabeça aqui.
vlw
Esse tutorial é otimo aprendi coisas novas.
Muito obrigada
janeiro 23rd, 2011 - 01:56
Legal que conseguiu Ana! Qualquer dúvida fala aí.
Se usa o Twitter, segue o @sistemabasico pra ficar ligada nas novidades.
Bons estudos!
fevereiro 1st, 2011 - 16:13
estou com o mesmo problema que a ana carolina…
quando adiciono qualquer uma das duas linhas o serviço não sobe mais….
PHPIniDir "C:php"
LoadModule php5_module "C:phpphp5apache2_2.dll
notei que há um padrao para LoadModule em todas as linhas
ex: LoadModule foo_module modules/mod_foo.so
a extensão .so , ao que me parece todos tem " modules/ " segue alguns exemplos do arquivo httpd
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
fevereiro 1st, 2011 - 18:39
Olá @Bruno, olha como você fez:
PHPIniDir "C:php"
LoadModule php5_module "C:phpphp5apache2_2.dll
Se olhar com calma, verá que não é assim que ensinei no tutorial.
Enfim… passando isso tem outra coisa… a Ana teve esse mesmo problema que você, mas no caso a solução dela, não serve pra você também?
Ela baixou o PHP errado (nts) e o correto para este tuto é o (ts).
Primeiro verifique o que citei no início e depois veja se baixou o PHP correto.
Quanto ao padrão que você mencionou, relaxa, é exatamente como postei.
Depois retorna aí se conseguiu.
Bons estudos!
fevereiro 4th, 2011 - 04:25
Ola Roberto..
Fiz tudo como vc falou no tutorial.. quando fui fazer o ultimo test da pagina infophp a pagina no navegador estava toda branca..
não apareceu nada.
fevereiro 5th, 2011 - 01:00
Estranho isso… vc salvou o arquivo como PHP?
Definiu no Apache o documentroot exatamente para a pasta que salvou o arquivo com o código que mostrei para ver as infos do PHP?
Definiu o código certinho?
fevereiro 21st, 2011 - 09:33
Ótimo tutorial, e estou seguindo-o para a instalação deste ambiente de trabalho.
Aproveito aqui pra deixar um dica: neste tutorial, após esta instalação do PHP, após a execução index.php aparece um WARNING, referente ao date.timezone do php.
Alterei linha do date.timezone no php.ini para: date.timezone = "Brazil/Acre"
E o warning sumiu. Espero ter contribuído e aproveito, novamente, para parabeniza-lo pelo excelente tutorial!
Adilson Menezes da Costa.
fevereiro 21st, 2011 - 12:51
Obrigado pela colaboração @Adilson. Se vc está no fuso horário do Acre é isso aí mesmo… no meu caso que estou em Santa Catarina, meu fuso é o de São Paulo "date.timezone = America/Sao_Paulo".
Enfim… de fato não sei como pude esquecer, inclusive já escrevi um tutorial sobre trabalhar com datas no PHP http://www.sistemabasico.com.br/2010/11/17/tutori…
Vou verificar o tuto novamente com cuidado e ver porque esqueci disso e adicionar sua observação, de fato pode ter passado despercebido. Por padrão ao date.timezone é atribuído o do server, ou seja, o do teu computador se for local.
Em servidores de hospedagem você não teria acesso aos arquivos de config e nesse tutorial que citei, ensino a trabalhar com as datas mesmo sem acesso… da uma olhada.
Bons estudos!
março 7th, 2011 - 15:12
Olá, me bati um pouquinho para conseguir reiniciar o Apache, e lendo suas respostas percebi que havia baixado a versão VC9 Non Thread Safe… Só baixei a versão correta, e o Apache reiniciou normalmente… Sou mais uma a agradecer e elogiar ;) Ótimo tutorial, muito esclarecedor :)
março 9th, 2011 - 05:08
Obrigado @Julia, qualquer coisa só falar.
Bons estudos!
março 11th, 2011 - 02:26
Bom tutorial…. tive erros tb… mas vendo os comentários percebi que tava instalando o php errado..
ai baixei o certo e funcionou perfeitamente aki no seven 64 bits.
vlw.
março 11th, 2011 - 03:01
Legal @Lucas.
Qualquer dúvida só falar.
Bons estudos!
março 13th, 2011 - 22:50
Muito bom, parabéns ao excelente tutorial, já tinha tentado instalar tive que remover várias coisas para fazer funcionar, excluir serviços, mas no final os dois tutoriais foram de primordial ajuda, muito obrigado, vou transmitir para meus colegas que também estão apanhando para instalar as novas versões do apache e do php.
março 13th, 2011 - 23:08
Obrigado @MArcos, qualquer coisa fale aí
Siga o Sistema Básico no twitter também e passe/indique a diante a informação.
Bons estudos!
março 15th, 2011 - 07:36
para instalar no windows xp vc tem algum tutorial ou esse do windows 7 serve de parametro ??
seu tutorial é muito bom parabens
março 15th, 2011 - 15:06
Olá @Andre, para instalar no WinXP serve de parâmetro, mas ah algumas observações:
Quando eu usava XP eu salvava o php.ini na pasta Windows, hoje uso as variáveis de ambiente para ensinar o caminho do php.ini.
Faça assim, teste o tutorial exatamente como está no XP e veja se ocorre algum problema.
Se ocorrer, relate… mas acredito que o PHP possa dar tudo certo, mas não sei dizer se com o MySQL ou Apache ocorreria da mesma forma.
Tente!
Bons estudos
março 19th, 2011 - 12:03
Olá Roberto, desde já agradeço pelo tutorial, fiz todos os passos e quando abro no navegador abre a página php e aparece o código na tela , pode ser que a versão que baixei do php não e compatível e no momento o site http://windows.php.net/downloads esta fora do ar !se alguém poder me passar por email diego.service@hotmail.com ou um link com o arquivo compatível fico muito grato.
março 19th, 2011 - 15:55
Olá @Diego, eu subi o arquivo pro meu servidor e agora você pode alternativamente baixar o PHP neste link:
http://www.sistemabasico.com.br/recursos/php-5.3.5-Win32-VC9-x86.zip
Quanto ao teu problema, pode ter sido sim isso que mencionou, mas também pode ter sido a configuração do teu apache, ou até o Apache incorreto.
Baixe esse PHP que passei aí e analise se fez tudo certo na configuração do APACHE Lounge que ensinei neste tutorial:
http://www.sistemabasico.com.br/2011/01/11/instalando-o-apache-2-2-compativel-com-versao-vc9-do-php-no-windows-7/
Não pode esquecer de adicionar no final do arquivo http.conf as linhas que ativam o módulo do PHP nas configs do APACHE:
PHPIniDir “C:\php”
LoadModule php5_module “C:\php\php5apache2_2.dll”
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Se tiver dúvidas ainda… fala aí.
Bons estudos!
março 19th, 2011 - 18:37
Olá mais uma vez Roberto, após baixar o php do seu servidor ficou tudo beleza, obrigado pela ajuda, agora estou indo para o ultimo passo. XD
Abraço
março 19th, 2011 - 21:36
@Diego, se conseguiu com o que baixou de meu servidor, é porque você realmente tinha baixado errado e não o que eu indiquei no tutorial.
O que disponibilizei em link alternativo, é exatamente o que indiquei no tutorial.
Enfim… que bom que destravou e foi adiante.
Qualquer coisa fala aí.
Abraço
maio 26th, 2011 - 04:03
So digo uma coisa Apache e PHP podiam ser mais amigos que confusao! Graças a sua explicação tudo resolvido muito obriogado é deste tipo de conteúdo que a web precisa. Parabens
maio 28th, 2011 - 16:31
Muito show!!! Instalado PHP, melhor ainda… sem problemas. Valeu!!!
junho 1st, 2011 - 09:18
Bom dia Roberto, cara eu estou com o mesmo problema que o diego teve, mas a minha versão de php é o 5.3.6 sera que tem algum problema?
Vou baixar o php que vc disponibilizou ai e vou ver se é isso, se for eu mando novas pra vc ok.
junho 1st, 2011 - 13:09
Ok, @Junior, fico no aguardo.
Abraço
junho 25th, 2011 - 21:50
Olá Roberto!
Segui seu tutorial e correu td bem, contudo, estou com um problema ao trabalhar com a função time, já descomentei no php.ini a linha data.time = “America/Sao_Paulo” mas não resolveu, se puder me ajudar agradeço
Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘America/Sao_Paulo’ for ‘-3.0/no DST’ instead in C:\Apache2\htdocs\e2pg44.php on line 7
junho 26th, 2011 - 00:12
Olá @Marcelo, esse erro se da porque a configuração de timezone não estão efetuadas de forma correta.
O próprio erro já te informa exatamente o que está ocorrendo.
Defina no php.ini as configurações de data corretamente.
No tutorial eu dou a dica exata para efetuar essa configuração de forma correta, releia-o com atenção.
Veja esse tutorial que postei tbm: http://www.sistemabasico.com.br/2010/11/17/tutorial-trabalhando-com-datas-no-php/
Bons estudos
junho 26th, 2011 - 00:22
Se você tem acesso ao php.ini você pode mudar a diretiva date.timezone. Caso contrário, você pode usar a função date_default_timezone_set(). O manual tem uma lista de fusos horários – TIMEZONES válidos que você pode usar para essas duas situações.
julho 29th, 2011 - 00:29
Roberto, mais uma vez mil parabéns pelo tutorial.
Continue assim!!!
Abs
Jaime Peixe
agosto 19th, 2011 - 16:16
Amigo, tem diferença na instalação de um windows server 2003 SP2? te interessa um freelancer?
agosto 25th, 2011 - 01:15
Funcionou aqui também!!
Apache 2.2.19 e php 5.3.8
Obrigado!!
agosto 25th, 2011 - 12:49
Estou com um problema aqui..
Instalei o phpMyAdmin e ao carregar ele dá o seguinte erro:
“The mysqli extension is missing. Please check your PHP configuration.”
Ao verificar novamente o index.php do exemplo, o qual fornece as informações do php instalado, vi que não está sendo carregado a extensão MySQL e MySQLi.
Já revisei o php.ini o extension_dir está correto e as extensões estão sem o ;
tem alguma sugestão?
agosto 26th, 2011 - 17:17
@Augusto, acesse o seu php.ini e comente a extensão mysqli, mantenha apenas a mysql, reinicie o Apache e tente acessar o phpMyadmin novamente.
agosto 31st, 2011 - 08:57
Excelente tutorial.
Além do conhecimento técnico a forma que fora elaborado o descritivo foi perfeito.
Segui o passo a passo tendo acuidade com as observações e funcionou perfeitamente.
Obrigado!
setembro 12th, 2011 - 16:41
Roberto eu estou com o mesmo problema do augusto o phpmyadmin da o mesmo erro. Verifiquei a indicação que voce deu e tentei executar, porém nao obtive sucesso.Alguma outra indicação?
setembro 13th, 2011 - 20:05
Qual o erro do Augusto?
setembro 13th, 2011 - 14:55
Olá Roberto,
Fiz toda instalação funcionou certinho, qdo executei uma pagina minha deu o seguinte erro “Call to undefined function mssql_connect()”. Fui na pasta ext e verifiquei que o arquivo mssql.dll não tem e no arquivo php.ini não tem a linha extension=php_mssql.dll .
Acrescentei a linha no php.ini e o dll na pasta ext, mais mesmo assim não funcionou… como faço pra rodar com o bando MSSQL??
Obrigado!!
setembro 13th, 2011 - 20:12
Olá Adriano, esse tutorial é justamente para rodar PHP com MySQL e não MSSQL.
Para tanto vc irá precisar ter o MSSQL instalado. Levando em conta que vc o tenha, verifique com atenção essas dicas:
http://php.net/manual/pt_BR/book.mssql.php e entenda que não ó o PHP deve estar devidamente configurado para trabalhar com MSSQL mas o teu MSSQL deve estar preparado para o PHP
Busque mais informações sobre isso no google.
Bons estudos
outubro 9th, 2011 - 18:51
Roberto estou com problema,
Realizei todas as configurações certinhas, das 3 etapas e funcionou coretamente, porem estou com um problema nas sessões, elas não estão funcionando. Veja o codigo:
Assunto:
<input name="assunto" type="text" id="assunto" size="97" maxlength="100" value='’/>
Isso é so uma peuena parte do codigo, ele faz o seguinte, caso o usuario esteja escrevendo e erre ou esqueça algo o PHP mantem os dados guardados na sessão. Porem o que esta acontecendo é o seguinte, o campo esta como conteudo da sessão dentro, ex: <?=$_SESSION, deveria estar em branco para que o usuario digitasse, saberia me dizer o que esta acontecemdo???
outubro 19th, 2011 - 17:37
@Kleber, desculpe a demora, problemas pessoais.
Enfim… tente usar < ?php echo ao invés de < ?=
Questões de portabilidade. Talvez já resolva o problema… senão informe novamente que eu tento outros passos com vc.
Bons estudos
novembro 2nd, 2011 - 15:24
Olá Roberto, parabéns pelo tutorial, está muito bom. Segui ele na minha VM com Win 7 e deu tudo certo.
Precisarei montar um ambiente com Apache+PHP+SQL 2k5 em plataforma Win 2k3 agora…
Posso seguir os mesmos passos? Tem algo que eu deveria modificar? Alguma dica?
Obrigado pela atenção,
Cristiano Peters.
novembro 3rd, 2011 - 23:31
Acredito que em relação ao SQL mudará os passos de instalação…
Quanto ao PHP e Apache pode seguir os mesmos passos, mas deverá dar atenção a DOC do SQL que instalará para fazer as configurações no apache e PHP de acordo com o que ele exige.
No mais, acredito que não terá problemas se seguir esses passos.
Bons estudos
dezembro 10th, 2011 - 20:16
Cara!
não tenho o costume de ficar comentando as coisas na net, mas, neste caso vou abrir exceção:
show de bola o site! parabéns pelo trabalho…
dezembro 10th, 2011 - 22:04
Obrigado @Adriano
;)
dezembro 15th, 2011 - 16:41
Olá. Instalei o Apache o PHP e deu tudo certo, mas na hora de testar ho browser dá o erro “404 Page Not Found O sistema não pode encontrar o arquivo especificado”, tanto no teste do index.html quanto no index.php. Já verifiquei o httpd.conf e as alterações que fiz são: ServerName localhost ; DocumentRoot “c:/web” ; . Coloquei no C pois meu pc não é particionado. Não estou encontrando o erro. Me ajuda…
dezembro 20th, 2011 - 22:52
Vc definiu no PATH do sistema no Windows a seguinte entrada–> ;C:\php na hora que instalou o PHP ???
Siga os passos novamente e verifique o que pode estar acontecendo.
dezembro 15th, 2011 - 18:47
Quando adiciono as linhas PHPIniDir “C:\php” e LoadModule php5_module “C:\php\php5apache2_2.dll” o Apache não dá start. o que pode ser? Com esta linhas comentadas, o apache esta funcionando normalmente.
Abraços,
dezembro 20th, 2011 - 22:41
Vc não instalou as distribuições adequadas.
Faça como no tutorial.
Abraços
janeiro 1st, 2012 - 13:39
Ricardo, tive o mesmo problema instalando a versão mais recente do Apache (versão do Apache Lounge), no caso a 2.3.16.
Pelo que li a respeito, ainda não existe um módulo php5apache2_3.dll para rodar com essa versão do Apache. No lounge encontrei uma notícia que já havia disponível uma versão para o 2.3.15, mas não pesquisei a fundo.
Decidi utilizar então a última versão 2.2 que encontrei (httpd-2.2.21-win32.zip). Repeti os passos e deu tudo certo.
Agradeço ao Roberto Lunelli, muito bacana o post e a atenção que ele tem dado aos usuários com dúvidas. Sugeriria apenas colocar essa ressalva na hora de indicar a versão do Apache para baixar.
Abraço a todos!
janeiro 1st, 2012 - 17:54
@Roberto, obrigado por colaborar com dicas.
Quanto ao que sugeriu à mim, veja bem… no tutorial eu indico justamente a 2.2.x, sendo assim não há necessidade de mais ressalvas de minha parte (por enquanto) salientado essa questão, ainda mais que a versão 2.3.x não é uma distribuição STABLE e sim uma RC (Release Candidate).
Abração
janeiro 11th, 2012 - 15:51
Estou com um problema aqui..
Instalei o phpMyAdmin e ao carregar ele dá o seguinte erro:
“The mysqli extension is missing. Please check your PHP configuration.”
Ao verificar novamente o index.php do exemplo, o qual fornece as informações do php instalado, vi que não está sendo carregado a extensão MySQL e MySQLi.
Já revisei o php.ini o extension_dir está correto e as extensões estão sem o ;
tem alguma sugestão?
janeiro 14th, 2012 - 10:55
Vc liberou a extensão mcrypt tbm??
Libere ela e depois reinicie o apache pra garantir, reinicie o computador.
janeiro 18th, 2012 - 15:10
Ola Diego, estou con dificuldade para concluir, acho q meu httpd.conf não está certo, qual é seu e-mail para te mandar o arquivo?
Obrigado
janeiro 22nd, 2012 - 03:25
Descobri porque tem um monte de gente que tah errando. É esse sistema de highlight de código!
Se você copia todo o código do httpd.conf que linka o php com o apache selecionando tudo de uma vez vem junto um caractere ‘?’, agora se vc copia linha a linha, não vem esse caractere. O primeiro caso dá pau e não inicia o apache, o segundo funciona normalmente. Se vc puder indicar isso no artigo para as pessoas não terem mais esse problema será ótimo, porque eu fiquei aqui apanhando para descobrir o problema, e sem querer tentei esse palpite de deu certo!
janeiro 22nd, 2012 - 13:05
Fala meu chará, obrigado pela observação, é que eu não tenho a prática de copiar e colar e sim sempre fazer linha a linha, escrevendo para desenvolver mais minha escrita… recomendo isso a todos na maioria dos meus tutoriais… posso ter esquecido aqui.
Pra facilitar ainda mais o que vc fez @Roberto, te dou a dica que o sistema de Sintaxe Highlight tem uma opção que se vc der 2 cliques sobre o box do código, ele seleciona apenas o código puro e basta copiar… não falo isso pra forçar todos a escrever o código novamente.
Obrigado por adicionar a sua dica.
Bons estudos.
janeiro 23rd, 2012 - 07:05
Roberto
achei essas 2:
;mcrypt.algorithms_dir=
;mcrypt.modes_dir=
só descomento elas? ou preciso colocar alguma coisa depois do “=”?
aguardo, obrigado pela ajuda.
janeiro 25th, 2012 - 10:09
Não meu querido… esqueça isso, nessa distribuição as coisas funcionam diferente.
Vamos por partes:
Esse é um trecho do meu .php.ini no que diz respetio às extensões:
;extension=php_bz2.dllextension=php_curl.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll ; Use with Oracle 11g Instant Client
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_phar.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
Depois disso vejamos se continuará o problema…
Não esqueça de sempre reiniciar o APACHE após modificar o php.ini
Bons estudos.
janeiro 26th, 2012 - 09:09
Roberto,
está igual ao teu, e a mensagem continua a mesma.
Deixa eu esclarecer, o Apache e o PHP estão funcionando, o problema é que não consigo abrir o phpMyAdmin. Quando coloco “localhost/phpmyadmin” é que aparece a mensagem:
The mysqli extension is missing. Please check your PHP configuration.
janeiro 26th, 2012 - 11:37
- Na sua pasta de extensões existe o arquivo DLL php_mysqli.dll ??
Se não existe o problema está aí.
Se existe está tudo ok e vamos tentar outra coisa então:
No php.ini COMENTE a ext mysqli.dll (somente a mysqli)
Reinicie o Apache e tente novamente abrir o phpmyadmin
Outra sugestão a ser verificada caso não de certo é a conf do phpmyadmin
Meu phpmyadmin está assim:
.../* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
...
Outra coisa que vc pode tentar é criar tabelas e uma conexão com o banco de dados através do terminal mysql, busque no google informações sobre como fazer.
Se tudo der certo então conmseguimos isolar o problema no phpmyadmin e o cerco estará fechando onde provavelmente será em relação as configs do mesmo.
Bons estudos
janeiro 25th, 2012 - 10:09
Ola Roberto..
Fiz tudo como vc falou no tutorial.. quando fui fazer o ultimo test da pagina infophp a pagina no navegador estava toda branca..
não apareceu nada.
janeiro 25th, 2012 - 15:18
Como vc escreveu a sua página infophp.php??
fevereiro 1st, 2012 - 16:05
Não funciona de jeito nenhum!
Instalei o apache 2.4, fiz o download do php 5.3.9 VC9 nt. Primeiro tentei o zip, quando adiciono as linhas para carregar o php não funciona, sempre diz que não encontrou o php5xxx.dll
Instalei o php da mesma versão “.msi” e também deu o mesmo problema.
O php adicionou isto no httpd.conf:
#BEGIN PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL
PHPIniDir “C:\php\”
LoadModule php5_module “C:\php\php5apache2_2.dll”
#END PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL
os caminhos corretos, inclusive se jogo no executar C:\php\php5apache2_2.dll ele pede se quero abrir a DLL.
Abraço.
fevereiro 1st, 2012 - 16:33
Com o apache 2.2.21 funcionou.
fevereiro 1st, 2012 - 19:13
Obviamente funcionaria… pois essa é a versão do Apache a ser utilizada. 2.2.21
Atenção é tudo.
Se prestar atenção ao tutorial saberá que a versão deve ser a confiável, ou seja, a ESTÁVEL.
A versão 2.4 do Apache é RC, ou seja, Release Candidate para uma versão estável que substituirá a última versão estável, no caso, 2.2.21
Portanto a versão do APACHE a ser utilizada é a verão 2.2.21
Bons estudos!
fevereiro 1st, 2012 - 19:49
Quando vê é isso que o pessoal também teve o mesmo erro, pois no site apachelounge.com não infoma beta ou rc.
Estou aqui brigando com os virtualhost:
DocumentRoot “xxxxx”
ServerName xxx
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Forbidden
You don’t have permission to access
Toda vez que mudo uma instalação me encomodo com isto, saudades do linux ¬¬
fevereiro 1st, 2012 - 20:11
@Christian, no site do ApacheLounge informa sim que é RC:
Apache 2.4.0with IPv6 apr-1.4.5 apr-util-1.4.1 apr-iconv-1.2.1 pcre-8.21 lua-5.1 libxml2-2.7.8 openssl-1.0.0e zlib-1.2.5
Be aware that this a RC. For the latest stable, download 2.2.21 below.
Quanto ao 403, verifique o APACHE na linha:
DirectoryIndex… veja se está
DirectoryIndex index.html index.phpno mínimoBons estudos.
fevereiro 16th, 2012 - 14:12
falae Roberto… o tutorial está excelente. só tô com um probleminha… no último passo, na hora de colar o código:
PHPIniDir “C:\PHP”
LoadModule php5_module “C:\PHP\php5apache2_2.dll”
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
é pra colar no final de tudo, certo?
porque depois que eu colo esse trecho o apache não reinicia mais.
fevereiro 16th, 2012 - 16:09
Isso ocorre por 1 ou 2 motivos que são:
Ou vc baixou a distribuição do PHP que não refere-se à este tutorial ou vc não baixou o Apache que refere-se à este tutorial ou ainda as duas opções simultâneamente rs*
Verifica isso
Bons estudos
fevereiro 17th, 2012 - 12:55
Realmente, eu tinha baixado a versão 2.4 do Apache, que é beta, né?
agora parece que tá tudo certinho!
valeu cara!
fevereiro 24th, 2012 - 22:36
Achei esse tutorial super excelente, mas estou com o mesmo problema do Roberto Lunelli,
após inserir as últimas linhas do tutorial:
PHPIniDir “C:\php”
LoadModule php5_module “C:\php\php5apache2_2.dll”
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
O Apache não reinicia e dá a seguinte mensagem:
“THE REQUEST OPARTION HAS FAILED”
Se puder me ajudar agradeço.
fevereiro 24th, 2012 - 23:27
Mas @Dimas, como você pode estar com o mesmo problema que eu se eu não tenho problemas :| … aliás… fui eu que escrevi este tutorial hauhauhauhaua
Desculpe… hauhauhau mas eu ri sozinho aqui… rs*
Vc NÃO instalou o APACHE correto amigo.
Vc deve baixar a última versão estável… releia a 1ª parte, em relação a instalação do APACHE, mas com calma.
Bons studos
fevereiro 25th, 2012 - 18:18
HAUHAUHAU
Comi bola, o problema é o mesmo do Allan:
“…falae Roberto… o tutorial está excelente. só tô com um probleminha… no último passo, na hora de colar o código:
PHPIniDir “C:\PHP”
LoadModule php5_module “C:\PHP\php5apache2_2.dll”
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
é pra colar no final de tudo, certo?
porque depois que eu colo esse trecho o apache não reinicia mais…”
fevereiro 25th, 2012 - 18:43
Como te falei no coment anterior, vc deve ter feito download da distribuição errada do APACHE ou do próprio PHP.
Diz aí quais versões vc está testando
fevereiro 25th, 2012 - 19:07
Cara parabéns e muito obrigado é o que eu posso escrever, hauhauhau.
Consegui, tinha feito todo o procedimento com a versão errada do APACHE (2.4).
Agora deu certo.
Já está nos meus favoritos.
Parabéns e Obrigado.
fevereiro 26th, 2012 - 10:25
Só mais um probleminha, não sei se tem haver com a instalação, mas acho que sim.
Fiz um menu onde são passados os valores pela url, pode ver em: http://www.evbatistagetsemanisp.com.br.
Agora os links não estão funcionando, o que pode ser ? Será que poderia me ajudar neste sentido ?
Eu usava IIS_7 com PHP 5… e esses arquivos funcionavam normalmente, e no servidor remoto estão funcionando normalmente também.
fevereiro 26th, 2012 - 16:56
Não entendo o que pode estar ocorrendo, pois entrei no teu link e acessei todas as páginas sem problema algum.
fevereiro 27th, 2012 - 08:43
Isso no site está tudo certo, os arquivos estão funcionando corretamente,
Mas no meu pc “http://localhost/getsemani”, onde testo as páginas estes links não estão funcionando,
o mesmo está acontecendo com os outros sites que eu tenho.
O que pode ser ?
fevereiro 27th, 2012 - 14:36
Roberto desculpe-me, ainda estou aprendendo php,
na verdade se eu criar um link normalmente com html Link, funciona perfeitamente,
mas se eu colocar uma variavel para passar via URL para outra página tipo:
Link, é isso que não está dando certo.
fevereiro 28th, 2012 - 12:47
A estrutura me parece correta.
Não sei o que pode estar ocorrendo com seu localhost.
Que erro retorna?
Não consegue acessar o arquivo pagina.php?
E no arquivo pagina.php como vc está tentando pegar os dados enviados na URL?
$_GET, $_POST, $_request ?
Enfim… mais difícil que aprender PHP é tentar adivinhações rs*
Preciso de detalhes pra tentar te ajudar.
fevereiro 28th, 2012 - 13:36
Obrigado, pensei que pudesse ser algum tipo de problema referente a instalação.
Os códigos em php estavam demarcados entre “”
No meu caso eu preferi substituir todos os arquivos para “” ao invés de ativar a diretriz
short_open_tags de OFF para ON no arquivo php.ini.
fevereiro 28th, 2012 - 14:52
Quando quiser adicionar algum cod ao seu coment, utilize as tags CODE na barra de ferramentas do editor de texto dos comentários, assim o seu código aparecerá perfeitamente no coment.
Quanto ao que vc disse, fez bem. Para uma maior portabilidade de código é ótimo amnter alguns padrões.
Utilize e prefira sempre
< ?php ?>do que< ? ?>ou ainda< % %>Obs.: Não há espaços entre a tag < e simbolo seguinte. Esse espaço quem coloca é o sistema do WordPress
Bons estudos
março 19th, 2012 - 21:04
Olá Roberto. Estou aprendendo mto sobre esses assuntos e tive a sorte de achar o seu tutorial. Segui realmente todos os passos apresentados neste tutorial e o Apache funcionou, instalei a versão httpd-2.4.1-win32-ssl_0.9.8t, meu sistema é Win 7 64, mas ignorei a questão 64, e tb instalei dentro do C: mas numa pasta q chamei de Webserver, ficando C:\Webserver\Apache24\. Igualmente foi para o PHP, intalei a versão php-5.4.0-Win32-VC9-x86, mas direto no C:\ e NÃO na pasta C:\Webserver ( Tenho dúvida em relação se isso traz algum problema ). Tb segui todos os passos mas qdo chego no fim do tutorial, onde vc pede pra incluir depois de tudo :
PHPIniDir “C:\php” … etc o Apache não reinicia e dá a seguinte mensagem:
The requested operation has failed. Será q fiz alguma bobagem ? Agradeço.
março 19th, 2012 - 21:23
Olá @Rodrigo, se você der uma olhada em alguns comentários um pouco acima do seu, vai perceber que algumas pessoas erroneamente instalaram essa distribuição do APACHE que você instalou.
Essa versão que você instalou não é uma RF (Release Final) estável, verifique os coments mais acima.
Nas prórias observações da distribuição que você instalou avisa que não é a estável e sim a versão 2.2.x
Qualquer coisa fala aí.
Bons estudos.
março 24th, 2012 - 18:20
Roberto, deu certo agora. Ficou ótimo. Depois que terminei o tuto do php e fiz o teste com o arquivo index.php, realmente aparece a página php com as informações do programa mas fecha em seguida, tipo fica 2 segundos e fecha, isso no Firefox, no IE nem rola. Está certo isso ? Acho q nunca será muito te elogiar por este tuto. Parabéns
março 24th, 2012 - 19:24
Olá @Rodrigo.
Isso que está ocorrendo do navegador fechar, te juro que nunca passei por esta situação.
Esta ocorrendo apenas com arquivos php que vc roda no teu server Apache?
Navegando na web está tudo ok?
Realmente isso mais me parece com algum conflito no teu computador, algum antivirus, algum firewall, ou ainda algo que não faço ideia.
março 24th, 2012 - 19:55
rsss . Foguete viu, e eu estou muito ancioso pra isso funcionar pq quero aprender AJAX e preciso do php em cima do apache. Com o navegador, todos eles q tenho está ok a navegação, eu tenho instalado um demo da versão full do avast, vou tentar desliga-lo e ver se funciona… ah tb tem o seguinte, meu win 7 é akele interprise, naum sei se tem alguma coisa haver … e o sistema é 64 bits mas instalei tudo como x86.
março 24th, 2012 - 20:27
@Rodrigo, não fiz testes em 64b e não fiz testes no interprise, apenas no Ultimate.
maio 17th, 2012 - 18:44
Para quem havia instalado a versão 2.4 há alguns meses e não tinha funcionado, agora no Apache Lounge tem os módulos “php5apache2_4.dll”. Aí sim!
maio 17th, 2012 - 19:12
Justamente @Rodrigo.
Vale a pena acompanhar e verificar as mudanças: APACHE LOUNGE