Tenho colocado posts (muito) raramente aqui mas, apesar disso, alguns que coloquei me foram úteis depois para repetir alguma instalação, configuração, etc. Assim, esse post se destina a descrever a configuração de um servidor web com PHP capaz de rodar aplicações que acessam webservices.
A forma mais fácil de rodar aplicações PHP era, até então, a instalação do pacote EasyPHP, disponível para download em http://sourceforge.net/project/downloading.php?groupname=quickeasyphp&filename=EasyPHP-2.0b1-setup.exe&use_mirror=ufpr. Porém, após fazer essa instalação numa máquina rodando Windows Vista Business, nenhuma página PHP era apresentada.
A próxima opção foi instalar um servidor Apache e PHP "manualmente". Para resumir os passos, há um tutorial muito útil a respeito na página http://www.php-mysql-tutorial.com/install-apache-php-mysql.php.
Faça o download do instalador do Apache em http://httpd.apache.org/. Siga as instruçoes de instalação do tutorial.
Teste 1: Após a instação do Apache, digite http://localhost no seu browser. Deve aparecer uma tela com a frase It Works! É sinal de que o Apache por si só está funcionando.
Depois de instalar o Apache e fazer o que está descrito no tutorial para instalar o PHP, misteriosamente o PHP ainda não funcionava. Nesse ponto, eu e a Cris perdemos várias horas tentando fazer a configuração. Aqui vai um resumo de passos que diferem do tutorial por causa da versão do PHP e do Apache.
Obs: No download do PHP há opções para usar o instalador ou descompactar o .zip. Não consegui fazer funcionar com o instalador. Então, prefira o .zip.
Após descompactar o pacote, acesse o arquivo httpd.conf na pasta /conf da instalação do Apache. Prefira um path name sem espaços para a instalação do Apache. Algo como c:\apache é simples e funcional.
Mude as seguintes diretivas para:
DocumentRoot "C:/www"
DirectoryIndex index.html index.htm index.php
Adicione as linhas abaixo no final do arquivo ao invés das sugeridas no tutorial:
LoadModule php5_module php/php5apache2_2.dll
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Teste 2: Crie um arquivo chamado teste.php na pasta c:\www com o seguinte conteúdo:
phpinfo();
?>
Reinicie o Apache. Após, digite no seu browser http://localhost/teste.php. Deverá aparecer uma página como a descrita no tutorial. Se não aparecer, revise todas as configurações dos arquivos httpd.conf e php.ini. Lembre-se de reiniciar o serviço do Apache a cada modificação.
Quando funcionar, é sinal que o Apache + PHP já estão funcionando. Agora, só falta ser cliente de Webservices.
Edite o arquivo php.ini (que vc copiou para a pasta c:\Windows conforme manda o tutorial) para ajustar as seguintes diretivas:
short_open_tag = On
include_path=".;c:\apache\php\pear"
extension=php_soap.dll
Após a instalação do PHP, há um arquivo chamado go-pear.bat na pasta de instalação do PHP. Execute esse arquivo para a instalação da ferramenta Pear que é usada para acrescentar pacotes no PHP.
Siga o roteiro que aparece na tela. Após concluir esse passo, instale a extensão HTTP Request, através dos comandos:
pear download HTTP_request
pear install HTTP_request
Para instalar o pacote SOAP (necessário para a utilização de webservices) é necessário fazer o download manual do pacote. Isso pode ser feito em http://pear.php.net/package/SOAP.
Após o download, descompacte o pacote, renomeie a pasta p/ SOAP e copie para dentro da pasta /php/pear.
Reinicie o serviço do Apache.
Crie um arquivo chamado web_teste.php na pasta c:\www com o seguinte conteúdo:
$pesoIni = "1000";
echo "Peso: $pesoIni gramas";
require_once('SOAP/Client.php');
$wsdl = new SOAP_WSDL('http://www.webservicex.net/convertMetricWeight.asmx?wsdl');
$client = $wsdl->getProxy();
$ret = $client->ChangeMetricWeightUnit($pesoIni,'gram','kilogram');
echo "Peso $ret kilogramas";
?>
Digite http://localhost/web_teste.php
Se aparecer 1000 gramas convertidos para 1 kilograma, tudo está funcionando como deveria.
Links úteis:
http://www.linhadecodigo.com.br/Artigo.aspx?id=756
http://pear.php.net/package/SOAP
http://httpd.apache.org/
http://www.php.net
Até a próxima!
Nenhum comentário:
Postar um comentário