Instalando Apache PHP MySQL no Windows 4

Apache - PHP - MySQL

PHP  MySQL no Windows 4

Criando bancos de dados no MySQL Quando você usa um servidor de hospedagem compartilhado, normalmente cria os bancos de dados usados pelas suas aplicações PHP através de uma interface via navegador, provida pelo seu provedor de hospedagem. Localmente, você deverá criar os bancos de dados via linha de comando, ou criando uma página PHP com instruções query do SQL. Para criar bancos de dados, acesse o prompt do MySQL, clicando no item “MySQL Command Line Client”, no grupo de atalhos do MySQL no “Iniciar > Programas”. Ele pedirá a senha de root, definida na instalação. A partir daí, é com você.

Para criar um banco de dados, digite:

create database coisa;

Veja:

Fazendo isso, esse banco de dados poderá ser usado nos scripts em PHP. Muitos scripts prontos que você pode baixar em diversos sites de materiais para web masters, contém arquivos INSTALL, LEIAME, etc, com as instruções. Você deve criar o banco de dados usado no script antes de rodar os scripts. A criação das tabelas pode ser feita via páginas PHP, depois de selecionado o banco de dados, ou pelo prompt do MySQL. Para criar tabelas pelo prompt, você deverá saber digitar as instruções do MySQL. Uma dica é copiar as instruções e colar no prompt, teclando [enter] ao final da última linha colada.

Antes de criar a tabela, deve-se selecionar o banco de dados a ser usado. Para isso, digite no prompt:

use coisa;

onde “coisa” é o nome do banco de dados, que já deverá existir. Para criar a tabela, use a sintaxe:

create table tabela1 (

declaração do campo 1,

declaração do campo 2,

declaração do campo 3,

);

A declaração da criação dos campos e tabelas não será abordada neste tutorial, por fugir do objetivo do mesmo. Você pode obter estas instruções em livros ou apostilas sobre MySQL, ou então instalar um script (como o phpmyadmin, disponível em www.phpmyadmin.net) que cria uma interface via navegador para a criação de bancos de dados e tabelas.

Alguns scripts usam usuários específicos para o banco de dados. Se você está só estudando e testando, pode sempre usar o root e a senha definida na instalação do MySQL, será mais fácil. O root tem livre acesso a todos os bancos de dados. Na hora de publicar seu site você deverá editar o script, alterando o nome de usuário e a senha (e o nome do banco de dados, se for o caso). Usar só o root em servidores de produção não é recomendável, aliás é recomendável manter contas separadas para cada aplicação ou banco de dados; se uma brecha de segurança em uma aplicação for descoberta e explorada, ela não afetará os outros bancos de dados; fora que em servidores compartilhados você normalmente não tem acesso ao root.

Se você quiser criar um usuário no MySQL e atribuir direitos a um banco de dados específico para ele, de forma mais semelhante ao que é usado em servidores de produção, pode dar este comando no prompt do MySQL:

grant all on coisa.* to usuario identified by ‘senha’;

Onde coisa é o nome do banco de dados, usuário é o nome de usuário desejado (um nome sem espaços) e senha é a senha dele. O nome usado aqui poderá ser usado nos scripts, para acessar esse banco de dados.

Outras configurações importantes do PHP

Se você mexe com PHP, mesmo que minimamente, já deve saber que é possível iniciar os scripts usando <?php ou <?, simplesmente. Há ainda a notação usada no ASP, da Microsoft, possível no PHP para facilitar para quem está acostumado com a sintaxe do ASP: <%. Tem as variáveis passadas nas páginas pelo endereço (método GET do HTTP), como em <a href=pagina.php?id=5>. E ainda, entre outras coisas, a recuperação de variáveis automaticamente, usando o método POST do HTTP, onde, por exemplo, um campo <input name=username type=text> numa página HTML gera automaticamente uma variável de nome “username” cujo conteúdo seria o texto preenchido pelo usuário, válida globalmente na página definida em “action” no formulário.

Você programa em PHP usando estes recursos, e os scripts funcionarão na maioria dos servidores de hospedagem. Mas, ao rodá-los no micro local, com o PHP instalado da forma padrão, simplesmente eles não rodarão. O PHP vem com muita coisa desativada, seja por motivo de performance (desempenho) ou segurança. Como são técnicas usadas na programação em PHP na maioria dos scripts, não dá para ficar sem elas. Você deverá ativá-las no PHP. Vamos então ver algumas opções que você deve alterar no php.ini:

short_open_tag = On

Esse item vem desativado por padrão, localize-o e deixe-o com o valor On. Ele libera o uso dos delimitadores <? … ?> para identificar scripts em PHP. Se você não ativá-lo, poderá usar apenas as formas <?php …> e <script language=php> nas suas páginas.

asp_tags = On

Ative este item apenas se você gostar de usar as tags no estilo do ASP, como em <% … %>. Se não usar isso, pode deixar desativado.

display_errors = On

Esse item vem desativado. Para um servidor de produção, é altamente recomendável deixá-lo desativado. Ele imprime erros de sintaxe ou funcionamento do PHP na página. Por questões de segurança, é bom deixá-lo em Off, pois entre as mensagens de erros muitas vezes vêm nomes de arquivos, caminhos locais, e se você bobear, até a senha do banco de dados, se tiver erro de sintaxe justamente na declaração da mesma. Em contrapartida, num servidor local, para aprender PHP, é recomendável deixá-lo em On, ativado.

Os erros serão impressos na página, com a indicação do número da linha e o arquivo afetado, ou seja: é uma forma de “debugar” suas aplicações, identificando erros e indo facilmente ao ponto que os causa. Um caso comum, num erro em PHP, é a página ficar toda em branco ao ser acessada (vazia), especialmente se o erro estiver no começo do script. Se você está estudando ou treinando, deverá caçar no script onde está o erro.

Com esta opção ativada, ele mostrará a linha e o nome do arquivo que causou o erro, quebrando um galhão para você. Aproveitando, um pouco mais acima no php.ini, deixe o item “error_reporting = E_ALL” com o valor E_ALL, que mostra todos os tipos de erros.

register_globals = On

register_long_arrays = On

register_argc_argv = On

auto_globals_jit = On

Deixe estes quatro itens em On. Com eles ativados você não terá problemas ao passar variáveis da forma habitual para as páginas, seja usando o método GET ou POST do HTTP. Muitos scripts que usam formulários não funcionam na configuração padrão do PHP justamente por causa destes itens, que vêm desativados 🙂

file_uploads = On

upload_max_filesize = 2M

Se algum script fará upload de arquivos pelo HTTP (ou seja, através de uma página da web), como por exemplo, o carregamento de fotos para um site de relacionamentos ou fórum, você deve deixar ativada a opção file_uploads. O upload_max_filesize determina o tamanho máximo dos arquivos que poderão ser carregados. Num servidor de produção não é bom deixar um valor muito grande, para não reduzir a performance. O valor deve ser escrito na forma XM, onde X é um número, em megabytes.

Considerações finais

Particularmente eu me bati um tempão, sendo que a maior dose de problemas estava no arquivo php.ini, com as muitas opções comentadas desativadas.

É basicamente isso, agora é com você! Não se esqueça de reiniciar o Apache, após fazer modificações no php.ini ou nos arquivos de configuração dele. Para reiniciá-lo, a forma mais “simples” é clicar com o botão normal do mouse no ícone do monitor do serviço do Apache, na área de notificação (próximo ao relógio), e escolher a opção “Restart”. Outro meio fácil é usar o atalho presente em “Iniciar > Programas > Apache HTTP Server > Control Apache Server > Restart”.

Só para alertar uma última vez, não se esqueça de trocar o nome de usuário, senha e talvez o nome do banco de dados, ao carregar seus scripts para seu provedor de hospedagem. Bom trabalho!

Marcos Elias Picão