Professional Documents
Culture Documents
Ajax e PHP
Juliano Niederauer
Novatec
1
CAPTULO
O que Ajax?
A palavra Ajax vem da expresso Asynchronous JavaScript and XML. o uso sistemtico de JavaScript e XML (entre outras tecnologias) para tornar o navegador mais interativo com o usurio, utilizando-se solicitaes assncronas de informaes. Isso quer dizer que podemos utilizar o Ajax para fazer uma solicitao ao servidor web sem que seja necessrio recarregar a pgina que estamos acessando. Veremos a seguir as principais diferenas entre as pginas que utilizam esse recurso e as pginas que fazem uso do modelo tradicional de comunicao com o servidor.
17
18
Esse sistema ainda est em uso, porm os designers e desenvolvedores sempre questionaram se esse inconveniente chama-responde teria fim. Por diversos fatores, geralmente eles recebiam um no como resposta. Mesmo com a evoluo dos navegadores (browsers), ainda havia muitas restries, como, por exemplo, as incompatibilidades com o sistema operacional e com o navegador do usurio, falta de plug-ins instalados na mquina-cliente e baixa qualidade das conexes utilizadas pelos usurios. Diante dessas restries, os desenvolvedores trabalharam no sentido de melhorar o modelo de interao da web, mesmo dentro do sistema chama-responde. Assim, foram criando novas tcnicas para tornar as aplicaes mais interessantes e fazer com que elas se tornassem to teis quanto suas aplicaes equivalentes para desktop. Podemos dizer que uma dessas tcnicas, denominada Ajax, apesar de existir h bastante tempo, s ganhou notoriedade quando aquelas antigas restries comearam a ser superadas. Assim como ocorreu na poca em que os navegadores passaram a suportar tecnologias como CSS e XHTML, a possibilidade de utilizar o Ajax nos principais navegadores foi comemorada pelos desenvolvedores, de modo que o principal beneficiado com a adoo dessa ferramenta ser o usurio final, pois a flexibilidade do Ajax ir conferir uma grande agilidade atualizao das informaes na web. O modelo de uma aplicao que utiliza Ajax est representado na Figura 1.2.
NAVEGADOR CLIENTE
Ferramenta Ajax
Dados XML
Veja que, nesse modelo, a interao entre o navegador e o servidor web no ocorre de forma totalmente direta, mas por meio da ferramenta Ajax. E como o Ajax ativado por uma chamada JavaScript, o usurio pode permanecer visualizando a pgina normalmente enquanto ocorre a comunicao com o servidor web. O servidor processa a solicitao do Ajax (por exemplo, realizando alguma pesquisa ou simplesmente atualizando alguma informao no banco de dados) e envia uma resposta. Caso o servidor retorne dados, o Ajax poder utilizar esses dados para fazer a atualizao de apenas uma parte da pgina que o usurio est visualizando, sem
19
que seja necessrio recarreg-la totalmente. Caso contrrio, o usurio tambm poder continuar usufruindo normalmente da pgina, mas ela no sofrer qualquer alterao visual. Ou seja, como se a pgina pudesse ouvir e falar simultaneamente. Portanto, notvel que essa forma de interao entre cliente e servidor possibilitar no apenas a agilidade na atualizao de informaes na web, mas evitar tambm a retransmisso desnecessria de informaes estticas (cdigos, textos, imagens etc.), melhorando o trfego da rede e a usabilidade das pginas, que ficaro muito mais parecidas com aplicaes do que com simples pginas da internet. Conforme foi comentado no incio do livro, o Ajax j existe h bastante tempo, mas sua difuso dependia do momento da web e das nossas habilidades em lidar com as tecnologias envolvidas nesse processo. Finalmente percebemos que a web est passando por esse processo de mudana e j estamos muito mais aptos a trabalhar com as tecnologias disponveis nessa rea. Veremos a seguir, como exemplo, algumas situaes onde seria interessante o uso do Ajax.
20
Assim, cada amigo relacionado a esse usurio poder ser classificado por ele de acordo com essa legenda, como mostra a Figura 1.4.
Por exemplo, se voc considera um amigo superconfivel pode preencher as trs , carinhas clicando sobre a terceira delas. Se voc f de um amigo, pode clicar sobre a , estrela e marc-la. A pergunta nesse caso a seguinte: Como fazer para atualizar o banco de dados no servidor a cada vez que o usurio clicar sobre um desses smbolos? . A que entra o Ajax. Se estivssemos utilizando o modelo clssico de aplicao web, ao clicar sobre um desses smbolos seria enviada uma solicitao ao servidor web e toda a pgina deveria ser recarregada. Com o Ajax, ao clicar sobre um dos smbolos, o navegador se comunica com o servidor por meio de uma chamada JavaScript, permitindo que o usurio continue navegando e visualizando a pgina como se nada tivesse acontecido. Mais adiante veremos como implementar um sistema semelhante a esse. Outra aplicao do Ajax no comrcio eletrnico, mais especificamente na parte que envolve o carrinho de compras, ou seja, os produtos que o cliente j selecionou para comprar. Normalmente o frete a ser pago calculado de acordo com o CEP do cliente (Figura 1.5).
21
Portanto, o cliente dever digitar seu CEP, clicar no boto Ok e aguardar at que a pgina seja recarregada com o valor do frete calculado pelo sistema. Se fosse utilizado o Ajax, no momento em que o cliente clicasse no boto Ok, haveria uma comunicao via JavaScript com o servidor para obter o valor do frete, que seria mostrado na tela por meio do Ajax, enquanto o resto da pgina permaneceria inalterado. O mesmo procedimento poderia ser utilizado no caso de uma enquete, Figura 1.6. No momento em que o usurio respondesse a pergunta, marcando uma das opes, seria atualizada apenas a parte da pgina que contm essa enquete. Assim, estaramos evitando o recarregamento desnecessrio de muito contedo, principalmente se for um grande portal.
Outro exemplo seria a validao de formulrios de cadastro em tempo real. claro que se pode fazer uma validao do lado cliente por meio de uma funo JavaScript, porm existem informaes que precisam ser validadas no lado servidor, como, por exemplo, o nome de usurio (username). A Figura 1.7 mostra um formulrio de cadastro cuja validao feita do modo tradicional, ou seja, o servidor web retorna uma pgina de resposta informando que o username escolhido j existe somente aps o usurio submeter o formulrio inteiro validao. Se utilizssemos Ajax, poderamos incluir um boto Testar ao lado do campo do username. Assim, ao digitar um nome de usurio, um clique no boto Testar ativaria a ferramenta Ajax, que verificaria em tempo real no servidor se o username digitado vlido. Um script de bate-papo (chat) poderia ser mais facilmente criado com o uso do Ajax (Figura 1.8). Assim, o desenvolvedor evitaria o uso de tecnologias mais complexas, como, por exemplo, a comunicao por sockets.
22
Alm das aplicaes citadas, so inmeras as situaes onde poderamos utilizar o recurso do Ajax. Por exemplo, mais adiante veremos como criar uma tabela on-line editvel e um sistema de sugestes para ferramentas de busca.
23
Portanto, Ajax no somente um novo modelo, mas tambm uma iniciativa na construo de aplicaes web mais dinmicas e criativas. O Ajax permite que vrias tecnologias trabalhem juntas, cada uma fazendo sua parte, conferindo ao desenvolvedor meios poderosos para a criao de websites.
XHTML e CSS
DOM
Javascript
Troca de dados
XML
Chamadas assncronas
XMLHttpRequest
Perceba que todo o processo gira em torno da linguagem JavaScript, pois toda a comunicao entre o usurio e o servidor ocorrer por meio dessa linguagem, a partir da qual o Ajax ser ativado. Talvez a maior novidade apresentada na figura seja o XMLHttpRequest, que justamente a tecnologia que viabiliza o processo inteiro. Trata-se de um objeto JavaScript que torna possvel a comunicao assncrona com o servidor, sem a necessidade de recarregar a pgina por completo. Algumas pessoas acham que XMLHttpRequest, objeto integrante da especificao do modelo DOM (Document Object Model), apenas um outro nome para o Ajax, porm, como voc pode ver na Figura 1.9, apenas uma parte desse processo, que consiste em agregar diversas tecnologias para conferir interatividade aplicao web.
24
O modelo DOM consiste em um conjunto de rotinas que permite o acesso e modificao de documentos XML. Portanto, entra no processo do Ajax na parte de interao dinmica, sendo utilizado no tratamento dos dados retornados pelo servidor, ou seja, a tecnologia que ir conferir dinamismo, aperfeioando a manipulao das informaes em questo. Essas informaes, por sua vez, podero ser retornadas pelo servidor no conhecido formato XML (eXtensible Markup Language), um dos mais utilizados para troca de dados. Por fim, a apresentao desse contedo ser feita pelas populares linguagens de marcao HTML ou XHTML (eXtensible Hypertext Markup Language) e pelas folhas de estilo CSS (Cascading Style Sheets). No Captulo 2, ser feita uma reviso dos principais conceitos relativos a cada uma dessas tecnologias, para posteriormente criarmos nossa primeira aplicao com o uso do Ajax. Agora, para complementar a explicao sobre o modelo proposto pelo Ajax, acompanhe a seguir os princpios dessa ferramenta que resumem tudo o que foi explicado at o momento.
25
SERVIDOR
Sesso do usurio
Dados do usurio
SADA
Banco de dados
No caso de uma aplicao Ajax, parte da lgica da aplicao movida para o navegador (por meio da linguagem JavaScript). Nesse novo cenrio, quando o usurio entra no site ou inicia uma sesso, o servidor envia ao navegador um documento mais complexo, formado em grande parte por cdigo JavaScript. A idia que esse documento se torne a aplicao do cliente, permanecendo com ele por toda a sesso, mesmo que seja necessrio alterar consideravelmente sua aparncia em determinados momentos. Essa aplicao ter a capacidade de tratar as informaes fornecidas pelo usurio, decidindo se elas devem ser manipuladas no lado cliente ou no lado servidor, ou ainda se far uma combinao dessas duas alternativas. Por exemplo, se houver necessidade de acessar um banco de dados, a aplicao envia uma requisio ao servidor, caso contrrio ela mesma realiza o tratamento das informaes. Isso significa que nesse novo modelo o navegador pode armazenar dados sobre o estado da aplicao, visto que o mesmo documento persiste sobre toda a sesso do usurio. No caso de um web site de comrcio eletrnico, por exemplo, o contedo de um carrinho de compras poderia ser armazenado no prprio navegador em vez de ser armazenado na sesso do servidor. A Figura 1.11 ilustra como ocorre o fluxo de informaes na web por meio do uso do Ajax. Perceba que, quando o cliente entra no site, o servidor retorna um documento mais complexo, que ser a aplicao do cliente. Ao contrrio do modelo clssico, a aplicao do cliente formada por apenas uma pgina, que envia freqentes requisies ao servidor. Essas requisies, que so feitas de forma assncrona pelo objeto XMLHttpRequest, podem ser utilizadas para executar diversas operaes, como, por exemplo, consultas e atualizaes nos bancos de dados localizados no servidor.
26
NAVEGADOR
ENTRADA
Sesso do usurio
Dados do usurio
Veja tambm que nesse modelo existe um repositrio de dados no prprio navegador, no qual sero armazenadas informaes relativas s aes que o usurio executou. Assim, o desenvolvedor pode decidir se acha mais conveniente armazenar uma informao no lado cliente ou na sesso do usurio localizada no servidor.
27
Para isso, quando o usurio entrar no site, seu navegador receber uma pgina com uma grande camada de lgica (JavaScript), como mostra a Figura 1.13:
Assim, ao longo da navegao do usurio pela aplicao, o que ir trafegar entre o navegador e o servidor so basicamente dados, alm de uma quantidade mnima de instrues de apresentao. Ao comparar os dois grficos apresentados, podemos perceber que o primeiro modelo transfere muito mais informaes que o segundo. Essa diferena ilustrada pela Figura 1.14. Perceba que em uma aplicao web clssica aumenta consideravelmente a quantidade de informaes transferidas ao longo da navegao do usurio. J a aplicao Ajax no transfere informaes desnecessrias, resultando em muito menos trfego acumulado ao longo da navegao.
28
Isso ocorre porque, em uma aplicao Ajax, o trfego tem sua maior intensidade no incio, com um documento complexo sendo entregue quando o usurio entra no site. As comunicaes subseqentes com o servidor so muito mais eficientes. Ou seja, medida que o tempo de interao aumentar, o custo da largura de banda ser menor na aplicao Ajax do que na sua aplicao clssica equivalente. Portanto, para melhorar a interatividade com o usurio, fundamental que o servidor retorne apenas as informaes relevantes aplicao no momento. Esse retorno pode ser feito de diversas formas, como, por exemplo, pela utilizao de um arquivo XML. Mais adiante veremos detalhes sobre as formas de retorno e em quais situaes interessante o uso de cada um delas. De qualquer forma, podemos dizer que qualquer um dos formatos escolhidos ser mais eficiente do que a mistura de informaes retornadas por uma aplicao web clssica.
29
usurio, como caixas de texto, listas de seleo, botes de rdio e caixas de checagem (checkboxes). Entretanto, esses componentes no so suficientes para garantir uma boa interatividade com o usurio. No existem, por exemplo, tabelas para edio (grids), caixas de combinao ou controles de seleo em rvores como existem nas aplicaes para desktop. Outra possibilidade que os hiperlinks e formulrios nos oferecem de apont-los para uma funo JavaScript. Essa uma tcnica bastante comum em pginas web para realizar validaes de formulrios no prprio navegador do usurio, as quais, apesar de inclurem a verificao de campos vazios, valores fora de intervalo e assim por diante, para posteriormente os dados serem submetidos ao servidor, so insuficientes, pois o cdigo JavaScript s roda no navegador, ou seja, antes da pgina ser enviada. Portanto, depois que a pgina for enviada, o usurio ter de aguardar uma validao extra no lado servidor, a fim de verificar se no houve uma tentativa de burlar a segurana da aplicao. No caso do Ajax, a interao com o usurio tende a ser flexvel, contnua e a fluir de forma mais amigvel. No ser mais necessrio aguardar ao clicar em um hiperlink ou submeter um formulrio. Conceitos mais sofisticados, como, por exemplo, o arrastar e soltar tornam-se praticveis, fazendo com que a interface se assemelhe interface , de uma aplicao para desktop. Dessa forma, torna-se possvel combinar a interao do usurio e as solicitaes ao servidor de maneira mais completa. Portanto, o modelo proposto pelo Ajax habilita o servidor a trabalhar de forma conjunta com o usurio, proporcionando a este uma experincia muito mais agradvel.
30
em pginas e no possibilita que os scripts permaneam ao longo do tempo. Assim, a linguagem JavaScript perdeu importncia, e muitos desenvolvedores a menosprezam. Nas aplicaes Ajax, o JavaScript ganha muita importncia, pois o centro do processo. E como a base de cdigo dessa linguagem passa a ser maior, tornam-se necessrias boas prticas na construo desse cdigo. recomendvel que o desenvolvedor crie um cdigo organizado e que possa ser entendido facilmente por outros profissionais, principalmente quando houver uma equipe envolvida no projeto. Nesse caso, importante que a equipe siga padres de codificao, a fim de tornar a aplicao bastante manutenvel.
31
} catch(e) { try {
// Internet Explorer
} catch(ex) {
32
try { req = new XMLHttpRequest();
} catch(exc) {
} }
return req;
No se preocupe em entender esse programa agora. Esse um pequeno script utilizado para efetuar uma requisio com o Ajax. Apenas note que so feitas tentativas de criao do objeto para diferentes navegadores (uma para o Internet Explorer, outra para o Mozilla e assim por diante). Detalhes como esse aumentam a complexidade de programao, e por isso torna-se necessrio o uso de plataformas mais adequadas e de boas ferramentas de desenvolvimento, visando a diminuio no ndice de erros. Outro aspecto a ser analisado a questo da acessibilidade de uma aplicao que utiliza Ajax. Os desenvolvedores se mostram preocupados ao lidar com questes que possam limitar o funcionamento da aplicao. Por exemplo, ser que o boto Voltar do navegador deixar de funcionar? E ser que a aplicao ir funcionar para usurios que desabilitaram o JavaScript de seus navegadores? Alm disso, que tipo de cuidados devemos tomar para garantir a segurana de uma aplicao Ajax? . claro que ainda h muito trabalho a ser feito para determinar as limitaes do Ajax, porm, medida que esse novo modelo for ganhando popularidade, os desenvolvedores iro cada vez mais trabalhar em meios de lidar com eventuais dificuldades de uso dessa ferramenta, ou seja, assim como ocorre com qualquer novidade no mundo da programao, o crescimento da comunidade de desenvolvedores desvendar muitas dessas questes, tornando a ferramenta mais eficiente ao longo do tempo.
33
Na verdade, os propsitos do Ajax e do Flash so distintos, embora algumas vezes eles possam ser utilizados para executar tarefas semelhantes. Nesses casos, podemos decidir se a melhor soluo para um determinado problema o Ajax ou se o mais indicado o Flash, o qual, costuma ser utilizado para criao de animaes e exibio de informaes ao usurio de uma forma mais atraente em termos visuais. O Ajax, por sua vez, tem como principal objetivo a interao assncrona com o servidor, possibilitando a alterao de apenas um trecho da pgina web, sem recarreg-la.
34
Como o objetivo do Ajax poder realizar chamadas assncronas ao servidor web enquanto o usurio usufrui da aplicao, utilizaremos programas PHP para receber essas chamadas e realizar o processamento das mesmas, retornando as informaes necessrias aplicao do cliente. Por exemplo, se uma aplicao de comrcio eletrnico necessitar do preo de algum produto, ela far uma chamada (por meio do Ajax) para um programa PHP, que ser responsvel por executar uma consulta no banco de dados, obter esse preo e retorn-lo ao navegador do usurio. Portanto, em praticamente todos nossos exemplos teremos uma linguagem de programao no lado cliente (JavaScript) e outra no lado servidor (PHP).
35
um determinado poder, que consiste na flexibilidade para a criao de interao na web. Contudo, assim como ocorre em nossa vida, quanto mais poder tivermos, maior deve ser nossa precauo em exerc-lo. Por isso, torna-se necessria uma dose de cautela no sentido de no desagradar a experincia do usurio, mas aprimor-la. Sendo assim, em que situaes o uso do Ajax no recomendado? Na realidade, devemos utilizar o Ajax sempre que possvel. Como j foi dito, no devemos deixar o usurio esperando em vo devido ao recarregamento desnecessrio de informaes. No entanto, se voc for desenvolver uma aplicao onde para cada passo do usurio seja necessrio mostrar uma pgina totalmente diferente da anterior, talvez seja melhor criar uma aplicao no modelo clssico da web. importante lembrar que a utilizao de Ajax aumenta bastante o tempo de planejamento de um site, j que todo o processo de interao com o usurio dever ser exaustivamente discutido antes de o desenvolvedor comear a implementao. Isso significa que o uso dessa nova abordagem pode aumentar bastante os custos do projeto.
36
Figura 1.17 Lista exibida pelo sistema ao no encontrar o aplicativo. Tabela 1.1 Benefcios e desvantagens da Web 2.0
Benefcios Desvantagens
Utilizar softwares on-line requer uma conexo de alta O uso de softwares on-line elimina no s os custos de velocidade. As conexes de banda larga vm crescendo licena para instalao nas mquinas, mas tambm o rapidamente no mundo todo, mas grande parte dos tempo perdido nesse processo de instalao. O usurio usurios de internet ainda utiliza conexes discadas. poder pagar apenas de acordo com seu tempo de utilizao. Se a conexo cair, o usurio ter seu trabalho interrompido e possivelmente perder dados no As atualizaes dos softwares so facilitadas, pois salvos. ocorrem on-line. Como os dados so armazenados no servidor, surge Os dados podem ser salvos no servidor e acessados a questo da privacidade. Por exemplo, a empresa de qualquer computador com conexo internet. Alm responsvel pelo servidor ter acesso a informaes disso, eles ficam protegidos em relao a falhas no HD que podem ser confidenciais para o usurio. Alm disso, do usurio. existe o risco de invaso do servidor e roubo de dados.
notrio que o modelo clssico (baseado em pginas) no nos permite reproduzir com eficincia os aplicativos do desktop na web. Por exemplo, difcil imaginar um software com todos os recursos do CorelDraw rodando no prprio navegador do usurio. Surgem ento os questionamentos: Ser que demorar para a web atingir esse nvel e reproduzir fielmente as aplicaes desktop? E ser que no ficar pesado para o navegador carregar essas aplicaes? So perguntas difceis de serem respondidas, . mas sabemos que o Ajax j est acelerando esse processo. Quanto ao carregamento da aplicao, a idia carregar no navegador apenas os recursos necessrios para as aes
37
que o usurio est executando. Os demais recursos seriam carregados posteriormente por meio das chamadas assncronas do Ajax ao servidor. Conhecendo o conceito de Web 2.0, fica clara a importncia do Ajax nesse processo, pois ele diminui muito a distncia entre as aplicaes para desktop e as aplicaes para a web., para a qual muitos aplicativos que foram consagrados no desktop j esto migrando com muito sucesso. J surgiram inclusive boatos de que algumas empresas estariam desenvolvendo um conjunto de aplicativos on-line (editores de texto, planilhas eletrnicas etc.) para concorrer com o Office da Microsoft. Na realidade, desde que o Google lanou uma aplicao chamada Gmail, a comunidade web percebeu que era possvel fazer o navegador se comportar como uma aplicao de verdade O GMail chegou e conquistou seu espao, mesmo em um mercado saturado . como o de e-mails na web (webmail). A partir da, o usurio comeou a se ver livre no s do sistema operacional, mas tambm do conceito de meu computador . Previses parte, muito difcil dizer se realmente o Ajax dominar a Internet do futuro ou se surgir um modelo inovador para substitu-lo, porm a idia da Web 2.0 comea a tomar forma a partir do Ajax, e os desenvolvedores devem estar preparados para criar aplicaes condizentes com a nova gerao da web.
38
Se voc no tiver disposio um servidor contendo os softwares necessrios, pode instalar o pacote PHP + Apache + MySQL em sua mquina, fazendo-a executar o papel de servidor e possibilitando a voc testar os exemplos do livro. No Windows, uma boa opo para instalar esses trs softwares obter o pacote EasyPHP, disponvel para download em http://www.easyphp.org/. Com esse pacote, podem ser instalados o PHP, o Apache e o MySQL, a partir de um nico arquivo de instalao. No entanto, se voc for um usurio um pouco mais experiente, recomendvel instalar individualmente cada um desses softwares, visto que nem sempre o EasyPHP contm as verses mais atuais de cada um deles. Em nosso caso, faremos manualmente a instalao das seguintes verses: PHP 5, disponvel em http://www.php.net. Apache 2.0, disponvel em http://httpd.apache.org. MySQL 5, disponvel em http://www.mysql.com. Se voc resolver tambm fazer a instalao e a configurao manual dos softwares, o procedimento para o Windows o seguinte: 1. Instalao do PHP na seo de downloads do site do PHP, faa o download da verso para Windows do PHP 5. Voc pode baixar o pacote completo, disponvel em formato ZIP. Em seguida, descompacte o arquivo no seu computador (normalmente cria-se a pasta c:\PHP para isso). Renomeie o arquivo php.ini-dist para php.ini, a fim de que o PHP possa localizar seu arquivo de configurao. Por fim, copie o arquivo php5ts.dll para a pasta de sistema do seu Windows (no Windows XP, a pasta C:\WINDOWS\system32), pois o PHP precisar encontrar esse arquivo. Faa o mesmo para o arquivo libmysql.dll, que ser usado posteriormente no acesso ao MySQL. 2. Instalao do Apache no site do Apache, na seo de downloads, h pastas com vrias verses do software. No caso do Windows, uma boa alternativa acessar uma pasta chamada win32, localizada dentro da pasta binaries. Nela, voc encontrar algumas distribuies binrias do produto, ou seja, voc poder baixar um arquivo (normalmente com extenso .msi) e execut-lo para que o Apache seja automaticamente instalado em sua mquina, como mostrado na Figura 1.18. Se durante o processo de instalao for solicitado o nome do servidor (server name), voc pode digitar localhost. Se ocorrer algum erro ao iniciar o Apache, ser exibida uma mensagem indicando onde est o problema no arquivo de configurao httpd.conf, localizado no diretrio conf do Apache. Algumas vezes, esse erro pode ocorrer em virtude da falta de alguma informao, como, por exemplo, o e-mail do administrador. Se ocorrer, basta fornecer as informaes solicitadas
39
para que o Apache seja iniciado corretamente. Para verificar se o Apache est rodando, abra seu navegador e digite na barra de endereos:
http://localhost/
Deve aparecer uma pgina indicando que o Apache est em execuo (Figura 1.19).
40
Para que suas aplicaes possam ser acessadas pelo navegador, elas devem ser colocadas na pasta raiz do servidor (DocumentRoot), por padro chamada de htdocs. Por exemplo:
C:\Arquivos de programas\Apache Group\Apache2\htdocs DocumentRoot do
A pasta raiz pode ser modificada por meio da alterao do valor da diretiva arquivo de configurao httpd.conf.
3. Instalao do MySQL faa o download do MySQL 5 no site oficial do produto. Assim como no Apache, voc tambm poder obter um arquivo binrio para Windows, com extenso msi. Basta fazer o download desse arquivo e execut-lo para que o MySQL seja instalado. 4. Configurao do PHP no Apache agora que voc j tem os trs softwares necessrios para montar seu servidor, falta apenas configur-los a fim de que funcionem em conjunto. Para habilitar o PHP como um mdulo do Apache, voc precisar acrescentar algumas linhas no arquivo httpd.conf. Essas linhas podem ser encontradas no arquivo install.txt que acompanha a distribuio do PHP. Por exemplo, para instalar o PHP como mdulo do Apache 2.0, devem ser acrescentadas as seguintes linhas:
LoadModule php5_module C:/PHP/php5apache2.dll" AddType application/x-httpd-php .php PHPIniDir C:/PHP"
A primeira linha carrega o mdulo do PHP, a segunda faz com que o Apache reconhea os scripts com extenso .php, e a terceira indica a localizao do arquivo de configurao php.ini. Consulte o arquivo install.txt para orientaes quanto a outras verses. Aps incluir as linhas, reinicie o Apache para que elas tenham efeito. 5. Configurao do MySQL no PHP para finalizar, precisamos habilitar a extenso do MySQL no arquivo de configurao do PHP, o php.ini. Neste livro, utilizaremos a extenso mysqli, visto que nossa verso do MySQL superior a 4.1, e, portanto, a antiga extenso do MySQL no funcionar. A linha que habilita essa extenso :
extension=php_mysqli.dll
Se essa linha estiver comentada, retire o comentrio. Caso ela no exista, deve ser inserida. Se sua verso do MySQL for anterior a 4.1, habilite o arquivo php_mysql. dll em vez do php_mysqli.dll. Verifique ainda se a diretiva extension_dir est apontando para o diretrio correto das extenses do PHP (normalmente chamado de ext). Por exemplo:
extension_dir = C:/PHP/ext/"