Configure o arquivo php ini. Instruções passo a passo para configurar PHP na hospedagem

20.02.2024

Site do desenvolvedor: http://www.php.net/
Distribuição(VC9 x86 Thread Safe, arquivo Zip): http://windows.php.net/download/
Link direto: php-5.3.10-Win32-VC9-x86.zip
Ao mesmo tempo, baixe imediatamente a documentação em russo no formato .chm, você precisará dela ao estudar e trabalhar: php_enhanced_ru.chm

Descompacte o arquivo no diretório desejado (inicialmente, é sugerido “C:\php”). Abra o arquivo de configuração que contém as configurações recomendadas - “php.ini-development” (localizado na raiz da distribuição), renomeie-o como php.ini e faça as seguintes alterações.

Editando php.ini:

  1. Encontre a linha:
    post_max_size = 8 milhões
    Aumente o tamanho máximo de dados aceito pelo método POST para 16 MB alterando-o para:
    post_max_size = 16 milhões
  2. Encontre a linha:
    ;include_path = ".;c:\php\inclui"
    Remova o comentário removendo o ponto e vírgula antes da linha.
    (Atenção exceção! Barras invertidas ao especificar o caminho):
    include_path = ".;c:\php\inclui"
    Crie um diretório vazio "C:\php\includes" para armazenar as classes incluídas.
  3. Encontre a linha:
    extension_dir = "./"
    Defina o valor desta diretiva para o caminho da pasta com extensões:
    extension_dir = "C:/php/ext"
  4. Encontre a linha:
    ;upload_tmp_dir =
    Remova o comentário e especifique o seguinte caminho no valor:
    upload_tmp_dir = "C:/php/upload"
    Crie uma pasta vazia “C:\php\upload” para armazenar arquivos temporários enviados via HTTP.
  5. Encontre a linha:
    upload_max_filesize = 2 milhões
    Aumente o tamanho máximo permitido de upload de arquivo para 16 MB:
    upload_max_filesize = 16 milhões
  6. Conecte, removendo o comentário, os dados da biblioteca de extensões:
    extensão=php_bz2.dll
    extensão=php_curl.dll
    extensão=php_gd2.dll
    extensão=php_mbstring.dll
    extensão=php_mysql.dll
    extensão=php_mysqli.dll
  7. Encontre a linha:
    ;data.timezone=
    Remova o comentário e defina o valor para o fuso horário da sua localização (uma lista de fusos horários pode ser encontrada na documentação):
    date.timezone = "Europa/Moscou"
  8. Encontre a linha:
    ;session.save_path = "/tmp"
    Remova o comentário e defina o valor desta diretiva para o seguinte caminho:
    session.save_path = "C:/php/tmp"
    Crie uma pasta vazia “C:\php\tmp” para armazenar arquivos de sessão temporários.

Salve suas alterações e feche o arquivo php.ini.

Em seguida, você precisa adicionar o diretório com o interpretador PHP instalado ao PATH do sistema operacional. Para isso, siga o caminho “Iniciar” -> “Painel de Controle” -> “Sistema”, abra a aba “Avançado”, clique em “Variáveis ​​de Ambiente”, na seção “Variáveis ​​de Sistema”, clique duas vezes no “Caminho ”, adicione no campo “Valor da Variável”, ao que já existe, o caminho para o diretório com o PHP instalado, por exemplo, “C:\php” (sem aspas). Observe que o caractere ponto-e-vírgula separa os caminhos. Para que as alterações tenham efeito, reinicie o sistema operacional.

Exemplo de sequência de caminho:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Arquivos de Programas\MySQL\MySQL Server 5.5\bin

A instalação e configuração do interpretador PHP estão concluídas.

Descrição das bibliotecas conectadas:

php_bz2.dll– Usando esta extensão, o PHP será capaz de criar e descompactar arquivos no formato bzip2.

php_curl.dll– Uma biblioteca muito importante e necessária que permite conectar e trabalhar com servidores utilizando um grande número de protocolos de Internet.

php_gd2.dll– Outra biblioteca indispensável que permite trabalhar com gráficos. Você achou que só pode gerar páginas HTML em PHP? Mas não! Com PHP você pode fazer quase tudo, inclusive desenhar.

php_mbstring.dll– A biblioteca contém funções para trabalhar com codificações multibyte, que incluem as codificações de idiomas orientais (japonês, chinês, coreano), Unicode (UTF-8) e outros.

php_mysql.dll– O nome da biblioteca fala por si - é necessário trabalhar com o servidor MySQL.

php_mysqli.dll– Esta biblioteca é uma extensão da anterior e contém funções PHP adicionais para trabalhar com o servidor MySQL versão 4.1.3 e superior.

Essas bibliotecas devem ser suficientes para que o PHP funcione corretamente. Com o tempo, se necessário, você poderá conectar bibliotecas adicionais, mas não deve conectá-las todas de uma vez pensando que não vai estragar o mingau com manteiga, neste caso, um número excessivo de bibliotecas conectadas; pode desacelerar visivelmente o PHP.

Artigo original: http://php-myadmin.ru/learning/instrument-php.html


Link direto: php-5.3.10-Win32-VC9-x86.zip
Ao mesmo tempo, baixe imediatamente a documentação em russo no formato .chm, você precisará dela ao estudar e trabalhar: php_enhanced_ru.chm

Descompacte o arquivo no diretório desejado (inicialmente é sugerido "C:\php"). Abra o arquivo de configuração que contém as configurações recomendadas - "php.ini-development" (localizado na raiz da distribuição), renomeie-o como php.ini e faça as seguintes alterações.

Editando php.ini:

  1. Encontre a linha:
    post_max_size = 8 milhões
    Aumente o tamanho máximo de dados aceito pelo método POST para 16 MB alterando-o para:
    post_max_size = 16 milhões
  2. Encontre a linha:
    ;include_path = ".;c:\php\inclui"
    Remova o comentário removendo o ponto e vírgula antes da linha.
    (Atenção, exceção! Barras invertidas ao especificar o caminho):
    include_path = ".;c:\php\inclui"
    Crie um diretório vazio "C:\php\includes" para armazenar as classes incluídas.
  3. Encontre a linha:
    extension_dir = "./"
    Defina o valor desta diretiva para o caminho da pasta com extensões:
    extension_dir = "C:/php/ext"
  4. Encontre a linha:
    ;upload_tmp_dir =
    Remova o comentário e especifique o seguinte caminho no valor:
    upload_tmp_dir = "C:/php/upload"
    Crie uma pasta vazia "C:\php\upload" para armazenar arquivos temporários enviados via HTTP.
  5. Encontre a linha:
    upload_max_filesize = 2 milhões
    Aumente o tamanho máximo permitido de upload de arquivo para 16 MB:
    upload_max_filesize = 16 milhões
  6. Conecte, removendo o comentário, os dados da biblioteca de extensões:
    extensão=php_bz2.dll
    extensão=php_curl.dll
    extensão=php_gd2.dll
    extensão=php_mbstring.dll
    extensão=php_mysql.dll
    extensão=php_mysqli.dll
  7. Encontre a linha:
    ;data.timezone=
    Remova o comentário e defina o valor para o fuso horário da sua localização (uma lista de fusos horários pode ser encontrada na documentação):
    date.timezone = "Europa/Moscou"
  8. Encontre a linha:
    ;session.save_path = "/tmp"
    Remova o comentário e defina o valor desta diretiva para o seguinte caminho:
    session.save_path = "C:/php/tmp"
    Crie uma pasta vazia "C:\php\tmp" para armazenar arquivos de sessão temporários.
Salve suas alterações e feche o arquivo php.ini.

Em seguida, você precisa adicionar o diretório com o interpretador PHP instalado ao PATH do sistema operacional. Para isso, siga o caminho “Iniciar” -> “Painel de Controle” -> “Sistema”, abra a aba “Avançado”, clique no botão “Variáveis ​​de Ambiente”, na seção “Variáveis ​​de Sistema”, clique duas vezes no botão “ Caminho”, adicione no campo “Valor da Variável”, ao que já existe, o caminho para o diretório com o PHP instalado, por exemplo, “C:\php” (sem aspas). Observe que o caractere ponto-e-vírgula separa os caminhos. Para que as alterações tenham efeito, reinicie o sistema operacional.

Exemplo de sequência de caminho:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Arquivos de Programas\MySQL\MySQL Server 5.5\bin

A instalação e configuração do interpretador PHP estão concluídas.

Descrição das bibliotecas conectadas:

php_bz2.dll– Usando esta extensão, o PHP será capaz de criar e descompactar arquivos no formato bzip2.

php_curl.dll– Uma biblioteca muito importante e necessária que permite conectar e trabalhar com servidores utilizando um grande número de protocolos de Internet.

php_gd2.dll– Outra biblioteca indispensável que permite trabalhar com gráficos. Você achou que só pode gerar páginas HTML em PHP? Mas não! Com PHP você pode fazer quase tudo, inclusive desenhar.

php_mbstring.dll– A biblioteca contém funções para trabalhar com codificações multibyte, que incluem as codificações de idiomas orientais (japonês, chinês, coreano), Unicode (UTF-8) e outros.

php_mysql.dll– O nome da biblioteca fala por si - é necessário trabalhar com o servidor MySQL.

php_mysqli.dll– Esta biblioteca é uma extensão da anterior e contém funções PHP adicionais para trabalhar com o servidor MySQL versão 4.1.3 e superior.

Essas bibliotecas devem ser suficientes para que o PHP funcione corretamente. Com o tempo, se necessário, você poderá conectar bibliotecas adicionais, mas não deve conectá-las todas de uma vez pensando que não vai estragar o mingau com manteiga, neste caso, um número excessivo de bibliotecas conectadas; pode desacelerar visivelmente o PHP.

«

O curso é destinado à formação básica de administradores de sites criados em "1C-Bitrix: gerenciamento de sites". Após cursar o curso, você dominará os métodos básicos de administração de sistemas, bem como ampliará seu conhecimento sobre os temas estudados no curso Gerenciador de conteúdo.

Se você estudar o curso com atenção, aprenderá:

  • gerenciar o acesso ao sistema, sites, usuários, grupos de usuários;
  • trabalhar com ferramentas de sistema;
  • usar os recursos da interface de gerenciamento do sistema;
  • trabalhar com módulos “1C-Bitrix: Site Management” relacionados à otimização e segurança do site;
  • Execute o trabalho para configurar o sistema web para desempenho ideal.

Se você mesmo tiver que instalar o sistema ou transferir o site para hospedagem, então sem curso Instalação e configuração Bem Instalação e configuração destinado a especialistas que instalam "1C-Bitrix: Site Management" ou "Bitrix24 in a box".

Baixe os materiais do curso em formato CHM.

Como fazer o curso de formação?

Neste artigo veremos como instalar e configurar um servidor Web Apache, PHP5 E SGBD MySQL para usá-los em uma máquina local no sistema operacional Windows (2000 e XP). O uso de servidores locais pode ser necessário por vários motivos - você precisa aprender PHP ou MySQL, e testar seus aplicativos Web em hospedagem é caro ou simplesmente impossível. Neste caso, você precisará do Apache+PHP+MySQL em sua máquina local.

Primeiro você precisa obter distribuições de servidores Apache e MySQL, bem como um arquivo PHP. Estaremos instalando e configurando Apache 2, MySQL 4 e PHP 5.

Você também pode baixar arquivos php.ini para configurar PHP e httpd.conf para Apache em nosso site. No entanto, faça isso apenas como último recurso - se nada funcionou para você com os arquivos “nativos” que apareceram durante a instalação dos aplicativos. Mas em qualquer caso, eles precisarão ser configurados para uma máquina específica. Baixe php.ini e httpd.conf

Você pode baixar o Apache dos espelhos fornecidos no site oficial http://www.apache.org/dyn/closer.cgi. Ao pesquisar, lembre-se que o Apache também pode ser chamado de httpd, após o nome de seu daemon no UNIX. Os espelhos geralmente possuem muitos arquivos diferentes, por exemplo:
httpd-2.0.49-win32-src.zip é um arquivo com códigos-fonte (src) para Windows (win32) do servidor Web Apache (httpd) versão 2.0.49.
httpd-2.0.49.tar.gz é a mesma coisa, mas para Linux, onde os programas geralmente são distribuídos em código-fonte.
apache_2.0.50-win32-x86-no_ssl.exe - e aqui está o servidor Apache (apache) versão 2.0.50 compilado para a arquitetura (x86) para Windows (win32) sem suporte SSL (no_ssl) - é disso que você precisa.

Comentário

Os códigos binários das distribuições Apache são distribuídos em diversas versões, ambas com extensões *.exe e *.msi e possuem um nome como httpd_version_win32_*_.msi.

Para que você não precise sofrer, aqui está um recurso onde você pode obtê-lo: http://apache.rinet.ru/dist/httpd/binaries/win32/
O segundo e terceiro dígitos da versão podem ser diferentes dos indicados aqui - você deve escolher a versão mais recente, pois elimina erros encontrados em versões anteriores.

PHP 5 pode ser baixado na seção do nosso site.

A distribuição MySQL pode ser baixada em nosso site.

Um manual de referência completo em russo pode ser encontrado em.

Depois de estocar todas as distribuições necessárias, podemos iniciar a instalação. A ordem em que o Apache, PHP e MySQL são instalados não importa. Vamos começar com o servidor Web Apache.

Instalando o Servidor Web Apache

Execute o instalador do servidor Web Apache. O resultado será uma janela com um contrato de licença, após aceitá-lo você deverá passar para a próxima janela com breves informações sobre as inovações da segunda versão do Apache. A janela a seguir, mostrada na figura, permite inserir informações sobre o servidor: nome de domínio do servidor, nome do servidor E endereço de e-mail do administrador. Se a instalação ocorrer em uma máquina local, nos campos do nome de domínio e nome do servidor você deverá inserir host local(veja a foto.). Na parte inferior da janela, você será solicitado a selecionar número da porta pelo qual o servidor aceitará solicitações (80 ou 8080).


host localé o nome de utilização do servidor na máquina local, que está associado ao endereço IP 127.0.0.1, que está reservado para uso local.

Após isso, será sugerido o método de instalação: padrão ( Típico) ou seletivo ( Personalizado), que permite selecionar manualmente os componentes do servidor. A próxima janela permite selecionar o diretório de instalação do servidor, por padrão é C:Program FilesApache Group, mas recomendamos escolher um diretório diferente, por exemplo, C:www. Após isso, o assistente de instalação informará que está pronto para o processo de instalação e após clicar no botão Instalar, os arquivos do servidor serão copiados. Se a instalação for bem-sucedida, o Windows iniciará automaticamente o Apache.

Após a instalação bem-sucedida, ao digitar http://localhost/ ou http://127.0.0.1/ na janela do navegador, a página do servidor deverá carregar.

Agora você precisa aprender como gerenciar o Apache, ou seja, aprender como iniciar, parar e reiniciar o servidor. Existem muitas maneiras de realizar essas operações: usando o utilitário ApacheMonitor, usando o console de gerenciamento de serviços do Windows, usando os itens do menu Iniciar, na linha de comando... Veremos o console de gerenciamento de serviços do Windows, que permite configurar Apache será iniciado automaticamente quando o sistema for iniciado. Para iniciar o console de gerenciamento, execute o comando
Iniciar->Configurações->Painel de Controle->Administração->Serviços.
Na janela do console que aparece, na figura abaixo, selecione o serviço Apache2. O menu de contexto, que abre clicando com o botão direito, permite iniciar, parar e reiniciar o serviço.


Os serviços do Windows permitem iniciar aplicativos em segundo plano quando o sistema é iniciado. Para fazer isso, vá até a janela Propriedades selecionando o item no menu de contexto do serviço Propriedades e na janela que aparece na lista suspensa " Tipo de inicialização"selecionar item" Auto".

Configurando o Apache

Um servidor web é um produto de software complexo executado em diferentes plataformas e sistemas operacionais em todo o mundo. Portanto, para que funcione corretamente no sistema instalado, ele deve estar configurado.
Por padrão, as configurações do Apache estão localizadas no arquivo httpd.conf no diretório conf. A seguir serão descritas as principais diretivas do arquivo httpd.conf e seus significados comumente usados.

Caminhos de arquivo

Nos arquivos de configuração do Apache e PHP, muitas vezes você terá que especificar caminhos para vários diretórios e pastas. Os sistemas operacionais UNIX e Windows usam separadores de diretório diferentes. UNIX usa uma barra "/", por exemplo /usr/bin/perl, enquanto o Windows usa uma barra invertida, por exemplo c:Apachein. Em geral, em algumas diretivas Apache e PHP, ambos os tipos de separadores de diretório funcionam: forward (/) e reverse (), mas como tanto o Apache quanto o PHP foram originalmente desenvolvidos para UNIX, usando seu formato “nativo”, você pode evitar uma série de problemas. Portanto, é recomendado escrever caminhos nos arquivos de configuração (httpd.conf e php.ini) utilizando uma barra no formato UNIX - “/”. Por exemplo:

ScriptAlias ​​​​"/php_dir/" "c:/php/"

Diretivas do arquivo httpd.conf

Porta

Porta 80

Define a porta TCP que o Apache usa para estabelecer uma conexão. Por padrão, a porta 80 é usada.

Observação

A única razão para usar uma porta não padrão é se você não tiver direitos para usar a porta padrão. Ao usar uma porta não padrão, por exemplo, 8080, o número da porta deve ser especificado no endereço, por exemplo: http://localhost:8080/.

Administrador do servidor

Administrador do servidor [e-mail protegido]

Contém o endereço de e-mail do administrador do servidor web, que será exibido em caso de erros no servidor.

Nome do servidor

ServerName meuservidor

Contém o nome do computador do servidor.

Raiz do servidor

Raiz do Servidor "C:/Apache2"

Aponta para o diretório que contém os arquivos do servidor Apache WEB.

Observação

Não confunda a diretiva ServerRoot com a diretiva DocumentRoot, que especifica o diretório para os arquivos do site WEB.

DocumentRoot

DocumentRoot "C:/Apache2/htdocs"

Define o diretório no qual os arquivos do site WEB estão localizados.

Recipiente

O escopo das diretivas neste contêiner se estende a todos os arquivos e subdiretórios do DocumentRoot.


Opções FollowSymLinks inclui índices
Permitir substituir tudo

  • A diretiva AllowOverride definida como All permite substituir os valores do arquivo de configuração principal httpd.conf em arquivos .htaccess.
  • A diretiva Options FollowSymLinks permite que o Apache siga links simbólicos.
  • A diretiva Options Included permite a execução de diretivas SSI (Server Side Included) no código das páginas do site.
  • A diretiva Options Indexes especifica que o conteúdo de um diretório deve ser retornado se um arquivo de índice estiver faltando.

Índice de diretório

DirectoryIndex index.html index.phtml index.php

Contém uma lista de arquivos de índice que devem ser exibidos ao acessar um diretório sem especificar um nome de arquivo (por exemplo, http://localhost/test/).

AdicionarDefaultCharset

AddDefaultCharset windows-1251

Define a codificação padrão se nenhuma codificação for definida no cabeçalho do documento HTML. Também pode ser necessário especificar o valor de codificação KOI8-R.

Criando hosts virtuais

Você pode instalar vários sites WEB em um servidor Apache WEB. Este recurso do servidor é chamado de hospedagem virtual. Abaixo veremos a criação de nós virtuais baseados em nomes. Hosts virtuais geralmente estão localizados no final do arquivo httpd.conf.

Primeiro você precisa especificar qual endereço IP será usado para os hosts virtuais.



# Diretivas de host virtual

Arquivo httpd.conf. Recipiente


ServerAdmin webmaster@may_domain.ru
DocumentRoot c:/www/meusite
Nome do servidor www.mysite.ru
ServidorAlias ​​​​www.site.ru www.host2.ru
ErrorLog logs/meusite-error.log
Logs CustomLog/mysite-access.log comum

Vejamos as diretivas do nó virtual:

  • DocumentRoot indica o diretório onde estão localizados os arquivos (páginas) deste nó virtual (site WEB)
  • ServerName especifica o nome do host virtual pelo qual ele pode ser acessado. Neste caso, em http://www.mysite.ru/.
  • ServerAlias ​​​​contém aliases de nomes de host virtuais. Neste caso, você também pode acessar o host virtual usando os nomes: http://www.site.ru/ e http://www.host2.ru/.
  • ErrorLog e CustomLog especificam os nomes de log do servidor para esse host virtual.

Os contêineres geralmente são colocados um após o outro no final do arquivo httpd.conf.

Arquivo httpd.conf. Configurando hosts virtuais

NomeVirtualHost 127.0.0.1:80

# Diretivas do host virtual 1


# Diretivas de host virtual 2


# Diretivas de host virtual 3

Observação

O Apache deve ser reiniciado para que as alterações feitas no arquivo httpd.conf tenham efeito.

Para acessar hosts virtuais por nome, eles devem estar registrados no banco de dados do servidor DNS. Se você usar o Apache para testar arquivos em uma máquina local, os nomes dos seus nós virtuais deverão ser escritos no arquivo hosts. Para Windows 2000 e XP, ele está localizado no diretório C:WindowSystem32Driversets. O arquivo hosts contém entradas como:

Formato de entrada de arquivo de hosts

127.0.0.1 www.meusite.ru
127.0.0.1 www.site.ru
127.0.0.1 www.host2.ru

Instalando e configurando PHP

Para instalar o PHP, você deve criar um diretório c:/php e colocar nele os arquivos do arquivo zip de distribuição. Depois disso, você deve renomear o arquivo de configuração php.ini-dist para php.ini e copiá-lo para o diretório do Windows.

Instalando PHP como módulo

Instalar o PHP como um módulo melhora ligeiramente o desempenho porque o módulo PHP é carregado uma vez quando o servidor Web é iniciado

Comentário

Ao instalar o PHP como um módulo, as configurações do php.ini são lidas uma vez quando o servidor Web é iniciado. Portanto, ao fazer alterações no php.ini, você deve reiniciar o Apache para que as alterações tenham efeito.

Para instalar o PHP, abra o arquivo de configuração principal do Apache httpd.conf para edição e remova os caracteres de comentário das linhas a seguir, alterando-os se necessário:

Arquivo httpd.conf. Conectando PHP como um módulo Apache


LoadModule php5_module c:/php/php5apache2.dll

Observação

Instalando PHP como um aplicativo CGI

Ao instalar o PHP como uma aplicação CGI, o interpretador PHP será carregado toda vez que o script PHP for chamado. Devido a isso, pode haver alguma deterioração no desempenho. Se o PHP estiver instalado como CGI, o Apache não deve ser reiniciado ao fazer alterações no arquivo php.ini, pois as configurações são lidas toda vez que o script PHP é executado. Instalar o PHP como CGI torna as alterações na configuração do PHP um pouco mais rápidas, pois não requer a reinicialização do servidor WEB.

Observação

Ao instalar o PHP como CGI, alguns cabeçalhos irão parar de funcionar, por exemplo, você não poderá autorizar usuários usando PHP; As autorizações só podem ser implementadas usando o próprio Apache usando arquivos .htaccess.

Para instalar o PHP, abra o arquivo de configuração principal httpd.conf para edição, encontre nele as linhas de conexão PHP comentadas e altere-as da seguinte forma:

Arquivo httpd.conf. Conectando PHP como CGI

Aplicativo AddType/x-httpd-php phtml php

OpçõesExecCGI

ScriptAlias ​​​​"/php_dir/" "c:/php/"
Aplicativo de ação/x-httpd-php "/php_dir/php-cgi.exe"

Observação

Em vez do diretório c:/php, substitua seu diretório pelo PHP instalado.

Configurando PHP (arquivo php.ini)

Como você provavelmente estará ocupado testando seus aplicativos Web em sua máquina local, será necessário configurar corretamente o arquivo de configuração php.ini. Encontre a diretiva error_reporting e defina-a com o seguinte valor:

Este valor irá configurar o PHP para que ao executar scripts PHP, todos os erros sejam exibidos e os "comentários" sejam ignorados. Você também precisa ter certeza de que a diretiva display_errors está habilitada:

Display_errors = Ativado

Se esta diretiva estiver desabilitada (Desligada), as mensagens de erro não serão exibidas na janela do navegador e se ocorrer um erro no código, você se perguntará diante de uma janela branca imaculada o que isso significaria.
Também é necessário garantir que a diretiva variáveis_order tenha o seguinte significado:

Variáveis_order = "EGPCS"

As letras aqui significam o seguinte:
E - variáveis ​​de ambiente
G - variáveis ​​​​transmitidas pelo método GET (G)
P - variáveis ​​transferidas via método POST (P)
C - Biscoitos
S - sessões
A falta de qualquer uma das letras impedirá que você trabalhe com as variáveis ​​correspondentes.

A próxima diretiva que pode exigir configuração é registrar_globals. Se esta diretiva estiver habilitada

Register_globals = Ativado

então as variáveis ​​transmitidas pelo GET, POST, através de cookies e sessões podem ser utilizadas em um script PHP, acessando-as simplesmente como variáveis ​​$someone comuns.
Se esta diretiva estiver desativada

Register_globals = Desativado

então tais variáveis ​​só podem ser acessadas usando arrays superglobais ($_POST, $_GET, etc.).
Diretiva registrar_long_arrays permite que você use matrizes superglobais no formato antigo ("longo" - $HTTP_GET_VARS, $HTTP_POST_VARS, etc.)

Register_long_arrays=Ativado

Agora você precisa configurar o arquivo de índice. Se você digitar a linha http://localhost/ na janela do navegador, e não http://localhost/index.html. O servidor ainda fornecerá index.html ao navegador, pois esse arquivo é o arquivo de índice e é pesquisado primeiro no diretório se um arquivo específico não for especificado. Agora você precisa configurar o http.conf para que o servidor Web Apache responda aos arquivos index.php da mesma maneira. Para fazer isso, encontre a diretiva DirectoryIndex em http.conf e corrija-a da seguinte forma:

DirectoryIndex index.html index.html.var index.php

Depois disso, você precisa reiniciar o servidor Apache e criar um arquivo PHP de teste (index.php) no diretório raiz do host virtual ("C:/www/scripts"):

phpinfo();
?>

Se a configuração for bem-sucedida, acessar http://localhost/index.php exibirá uma tabela roxa com as configurações atuais do PHP, que é retornada pela função phpinfo().
Assim, configuramos uma combinação de Apache e PHP e podemos prosseguir para a configuração do MySQL. Descompacte a distribuição do MySQL em um diretório temporário e execute o instalador. Você pode controlar a operação do servidor MySQL da mesma forma que o Apache, usando o console de gerenciamento de serviços do Windows.

Conexão MySQL

Um método detalhado para conectar a extensão MySQL ao PHP é descrito no artigo no link: .

Se o servidor MySQL já estiver instalado em sua máquina, o próximo passo é configurar o PHP para funcionar com bancos de dados MySQL.

Abra o arquivo php.ini no diretório do Windows para edição. Para conectar a biblioteca de extensão MySQL, você precisa remover o caractere de comentário (ponto e vírgula) da linha:

Extensão=php_mysql.dll

Verifique também o valor da diretiva extension_dir

Extension_dir="c:/php-5.0/ext"

Deve apontar para o diretório onde as extensões PHP estão armazenadas. Recomenda-se escrever separadores de diretório no formato UNIX (/) - barra invertida. No entanto, se tudo mais falhar, simplesmente reverta o valor da diretiva extension_dir e copie a biblioteca php_mysql.dll para a raiz de C:/php-5.0/ - na maioria dos casos isso deve ajudar.

Se o PHP estiver conectado a você como um módulo, você também precisará copiar a biblioteca libmysql.dll do diretório com o PHP instalado para o diretório do sistema C:/Windows/System32. Para que as alterações tenham efeito, reinicie o Apache.

Para verificar se o MySQL está funcionando, reinicie o servidor Apache e crie um script de teste com o seguinte código:

$dblocation = "127.0.0.1";
$dbname = "teste";
$dbuser = "raiz";
$dbpasswd = "";

$dbcnx = @mysql_connect ($dblocation, $dbuser, $dbpasswd);
se (! $dbcnx )
{
eco "

Infelizmente, o servidor MySQL não está disponível

" ;
saída();
}
se (!@
mysql_select_db ($dbname, $dbcnx))
{
eco "

Infelizmente, o banco de dados não está disponível

"
;
saída();
}
$ver = mysql_query("SELECT VERSÃO()" );
if(!$ver)
{
eco "

Erro na solicitação

"
;
saída();
}
eco
mysql_result($ver, 0);
?>

Se o MySQL for integrado com sucesso na combinação Apache e PHP, o acesso ao script de teste exibirá a versão do servidor MySQL na janela do navegador.

Nas novas versões do MySQL (a partir de 4.1.0), a forma como os conjuntos de caracteres nacionais são tratados mudou, então o código antigo pode fazer com que pontos de interrogação "???????" em vez de texto russo. Para evitar que isso aconteça no início do script PHP, após estabelecer uma conexão com o banco de dados, você deve colocar as seguintes linhas:

mysql_query( "definir character_set_client="cp1251"");
mysql_query( "definir caracteres_set_results="cp1251"");
mysql_query( "definir collation_connection="cp1251_general_ci"");
?>

Instalando extensões PHP

Por último, pode ser necessário configurar algumas extensões PHP; elas são configuradas da mesma forma que o MySQL;

Portanto, para conectar a biblioteca gráfica GDLib no php.ini, é necessário descomentar a linha:

Extensão=php_gd2.dll

Após isso, verifique a presença desta biblioteca na pasta c:phpext. Após fazer alterações no php.ini, reinicie o servidor. Para verificar rapidamente se a biblioteca está conectada, execute a função phpinfo(). Se tudo estiver em ordem, então na tabela que é exibida pelas funções phpinfo(), a seção " Deus

Se você usar o nome php.exe desatualizado usado em versões anteriores em vez de php-cgi.exe, o erro também poderá aparecer:

403 Proibido Você não tem permissão para acessar /__php_dir__/php.exe/test.php neste servidor

Arquivos HTML são executados, mas scripts PHP não

Caso a conexão PHP não esteja configurada, ao acessar arquivos com extensão php, por exemplo: http:/localohost/index.php, é aberta uma janela solicitando o download de tal arquivo. Isso indica que o processamento de arquivos com extensão php não está configurado. Verifique no arquivo httpd.conf a existência da seguinte linha:

Aplicativo AddType/x-httpd-php phtml php

Aviso: variável indefinida...

Em um PHP novo e recém-instalado, muitas vezes você pode ver mensagens como:

Aviso: Variável indefinida: msg em C:/Main/addrec.php na linha 7

Relatório_de_erros = E_ALL & ~E_NOTICE

MySQL não conecta

Às vezes há problemas ao instalar o MySQL. Você deve verificar se o MySQL inicia como um serviço toda vez que o sistema é iniciado. Para fazer isso, abra o console de serviços:

Iniciar | Configuração | Painel de controle | Administração | Serviços

encontre o MySQL lá - execute-o. Para fazer o servidor iniciar sempre que o sistema inicializar, clique com o botão direito no serviço e selecione “Propriedades” - na lista suspensa “Tipo de inicialização” que se abre, selecione “Auto”.

Se, ao iniciar o Apache e acessar os scripts, aparecer uma mensagem indicando que a biblioteca php_mysql.dll não pode ser carregada.

Inicialização do PHP: Não é possível carregar a biblioteca dinâmica c:/php/ext/php_mysql.dll
- o módulo especificado não foi encontrado

Em seguida, verifique novamente as instruções da seção que descreve a conexão com bibliotecas PHP para trabalhar com MySQL. Você está usando a versão “correta” do arquivo php_mysql.dll (exatamente para a versão do PHP que está instalada no sistema)?
As versões do arquivo php_mysql.dll diferem para diferentes versões do PHP, embora tenham o mesmo nome.

  • Usando separadores de diretório do Windows (barra invertida): c:apache/bin. Para uma operação confiável, você deve usar delimitadores UNIX (barra), por exemplo: c:/apache/bin.
  • A existência de vários arquivos de configuração php.ini na máquina, ou a ausência de tal arquivo. O arquivo php.ini necessário deve estar localizado no diretório do Windows. Pesquise as unidades do seu computador, encontre todas as versões desnecessárias de arquivos e exclua-as.
  • Você pode fazer qualquer pergunta sobre a instalação da combinação Apache+PHP+MySQL em nosso fórum dedicado à instalação e configuração de Apache, PHP e bibliotecas de extensão.

    Existem muitos aplicativos bons escritos em PHP. Nem mesmo
    muitos e alguns deles são muito bons, então por que não usar estes
    aplicativos no Windows? Especialmente se o portal interno for executado em Windows e
    em uma máquina Unix, o site externo da empresa irá girar - então
    você pode economizar em infraestrutura e hospedá-la no Windows
    O servidor também possui um site externo. Ou, se houver o desejo de padronizar
    infraestrutura e hospedagem de sites no Windows
    plataforma, já que desenvolvedores e usuários trabalham em
    Plataforma Windows.
    No site www.iis.net
    pode ser encontrado
    lista
    aplicativos PHP populares
    com instruções de instalação no IIS. Para executá-los
    nenhuma alteração necessária no IIS
    Código PHP.

    Instalando e configurando PHP para uso com o módulo FastCGI.

    Para começar, para usar PHP com sucesso em
    Windows, PHP seria legal
    instalar.
    Passo 1. Baixe PHP
    No site PHP.net você precisa baixar
    versão mais recente do PHP para Windows. Recomendado para uso com FastCGI
    instale a versão PHP sem controle de segurança de thread, já que o próprio módulo
    FastCGI garante que a execução ocorra em um único thread e suporta
    Os controles de segurança de thread no próprio PHP introduzem verificações desnecessárias e
    bloqueios que levam a uma queda significativa no desempenho. É por isso
    selecione binários Win32 não seguros para threads (a versão 5.2.6 é atual no momento da escrita
    esta mensagem) .
    Vale a pena notar que acreditamos que o Non-thread-safe foi desenvolvido especificamente para
    trabalhar com FastCGI no IIS (o primeiro lançamento foi na versão 5.2.1) e usar em
    Não recomendado em outros ambientes. A propósito, a partir da versão 5.2.2 Zend é sério
    está trabalhando na otimização do desempenho do PHP no Windows, o que não pode deixar de
    para agradar. Se compararmos as versões 5.2.1 e 5.2.2, então a diferença na velocidade de processamento
    as solicitações podem ser facilmente visualizadas usando um simples teste de carga.
    Passo 2. Instale o PHP
    A instalação é muito simples: já que baixamos o arquivo de
    arquivos executáveis, basta expandir este arquivo, por exemplo, em
    diretório C:\Web\PHP.
    Como configuração básica, usaremos as configurações recomendadas:
    Vamos fazer uma cópia do arquivo recomendado pelo php.ini em php.ini no mesmo diretório e abrir
    para edição, após o que examinaremos o arquivo acima, descomentando o seguinte
    strings para garantir segurança e compatibilidade com a maioria dos PHP
    aplicações:
    • open_basedir = diretório onde os aplicativos PHP estão localizados.
      Especificar um diretório limitará os direitos de acesso apenas aos arquivos de aplicativos PHP
      este diretório. É conveniente substituir esta configuração nos arquivos de configuração
      diretamente para cada aplicativo, mas não faria mal nenhum instalar este
      configurações e especifique o diretório raiz de todos os aplicativos PHP. Por exemplo, C:\inetpub\PhpSites.
    • cgi.force_redirect = 0
      O padrão é definido como 1, mas precisa ser definido como 0 porque o IIS
      controla a segurança da execução do PHP e nesta configuração não há
      necessário. Além disso, a inclusão pode levar a resultados inesperados
      resultados. Quando usado com outros servidores web no Windows, este
      a configuração deve estar habilitada.
    • cgi.fix_pathinfo = 1
      O PHP definirá o nome do arquivo na variável SCRIPT_FILENAME se
      definir o valor como 0, então o nome do arquivo estará na variável PATH_TRANSLATED, que
      pode quebrar a compatibilidade com a maioria dos aplicativos.
    • fastcgi.impersonate = 1;
      FastCGI permite que um processo seja personificado usando o contexto do cliente,
      processo de chamada. Este mecanismo só funciona em FastCGI/IIS, por exemplo
      Isso não funcionará no Apache no Windows.
    • short_open_tag=Ativado
      A maioria dos aplicativos usa tags curtas, então não será
      seria supérfluo permitir o seu apoio.
    • display_errors = Ativado
      Ao verificar e depurar aplicativos PHP no FastCGI, vale a pena ativar a saída
      mensagens de erro.
    Etapa 3. Verificando a funcionalidade do PHP
    Embora não tenhamos configurado o IIS, verifique a funcionalidade do interpretador
    você pode simplesmente, por exemplo, executar o comando c:\web\php\php.exe -info > c:\test.txt

    Instalando e configurando o módulo FastCGI no IIS7.

    Se você possui IIS7, algo me diz sobre o nome do seu sistema operacional
    sistemas - Windows Vista? Adivinhei errado, então Windows Server 2008! Ou você é um hacker e
    instalamos o IIS7 em outro lugar, mas esta é uma solução não padrão e não
    apoiar ;).
    Passo 1. Instale FastCGI
    Quero agradá-lo imediatamente - no IIS7, vindo com o Windows Server 2008 e o Windows Vista
    O módulo Service Pack 1 FastCGI já está incluído. Só precisa estar conectado
    configurações. Para fazer isso no Vista você precisa abrir Painel de Controle -> Programas e selecionar
    "Ativar ou desativar recursos do Windows":

    Depois disso, você precisa instalar o recurso no IIS: Internet Information Services
    -> Serviços da World Wide Web -> Recursos de desenvolvimento de aplicativos -> CGI. Ao mesmo tempo
    suporte para CGI e FastCGI será instalado.

    No Windows Server 2008 o processo é semelhante: Gerenciador de Servidores -> Funções -> Adicionar
    Serviços de função -> Servidor Web -> Desenvolvimento de aplicativos -> CGI.
    Na verdade, tudo o que é necessário para habilitar o módulo FastCGI.
    Etapa 2: configuração do IIS7
    1. Abra o Gerenciador IIS, selecione o nó (servidor) para o qual deseja configurar
    Suporte PHP. E então selecione Mapeamentos de manipulador.

    2. Selecione o link Adicionar Mapeamento de Módulo na página Mapeamentos de Manipuladores e
    preencha a janela com os seguintes valores:
    Caminho da solicitação: *.php (processando todos os arquivos com extensão .php)
    Módulo: FastCgiModule (módulo FastCGI)
    Executável: C:\Web\PHP\php-cgi.exe (caminho para PHP)
    Nome: PHP (nome por conveniência)

    Após adicionar esta configuração, aparecerá uma janela solicitando o registro.
    Aplicativos FastCGI para este manipulador. Nós confirmamos.
    As etapas descritas acima levaram à criação do seguinte no diretório PhpSites
    arquivo web.config:


    < configuration >
    < system.webServer >
    < handlers >
    < add name =«PHP» path ="*.php" verb ="*"
    módulos = "FastCgiModule" scriptProcessor ="C:\Web\PHP\php-cgi.exe"
    resourceType = "Não especificado" />



    Agora você pode verificar a funcionalidade do PHP.
    Etapa 3. Verifique se as configurações estão corretas
    No diretório do nó para o qual configuramos o PHP, criamos um arquivo
    index.php:
    phpinfo();
    ?>
    E acessamos esse arquivo por meio de uma solicitação HTTP. Como resultado, se tudo estiver bem e
    nosso carma não está estragado, a solicitação será processada corretamente:

    Claro, ao usar PHP em
    O IIS7 pode ter armadilhas com as quais você precisa lidar
    lutar para alcançar o resultado esperado (trabalho maravilhoso
    aplicativos PHP no Windows).
    Os martelos para quebrar rochas comumente encontradas estão listados abaixo.

    Frequência de reinicialização do processo PHP

    Porque ao usar PHP em
    IIS7 usando FastCGI
    módulo, o próprio módulo FastCGI assume
    gerenciamento de processos e recursos, você precisa ter certeza de que o mecanismo de reinicialização
    processos (reciclagem) em PHP
    não interferirá no FastCGI. Isso é fácil de fazer se
    configure FastCGI para que ele sempre reinicie
    processos antes do PHP.
    Existe uma configuração nas configurações do FastCGI
    instanceMaxRequests, que determina após o processamento quantas solicitações,
    o processo será reiniciado. Existe um parâmetro semelhante em PHP
    é especificado pelo valor da variável PHP_FCGI_MAX_REQUESTS. Obviamente para dar
    a capacidade do FastCGI de orientar o processo é suficiente
    definir instânciaMaxRequests<= PHP_FCGI_MAX_REQUEST.
    Isso pode ser feito convenientemente editando o arquivo
    applicationHost.config (oculto no diretório C:\windows\system32\inetsrv\config\).
    A configuração deve conter as seguintes informações:

    < fastCgi >
    < application fullPath ="C:\inetpub\php\php-cgi.exe"
    maxInstances = "4" instanceMaxRequests = "10000" >
    < environmentVariables >
    < environmentVariable name =«PHP_FCGI_MAX_REQUESTS» value =«10000» >


    Usando múltiplas versões do PHP

    Como diferentes versões do PHP podem ser usadas em
    aplicativos hospedados no servidor, seria bom dar a oportunidade
    use versões diferentes para sites diferentes.
    No arquivo de configuração applicationHost.config
    basta definir seções para diferentes versões do PHP:
    < fastCgi >
    < application fullPath ="C:\inetpub\php\php-cgi.exe">
    ...

    < application fullPath =«C:\inetpub\php4\php4.exe» >
    ...

    < application fullPath ="C:\inetpub\php41\php41.exe">
    ...


    * Este código-fonte foi destacado com .
    E para cada site é configurado um módulo que utiliza um ou outro
    versão (você pode usar a interface descrita acima ou pode
    edite a configuração no texto):
    < handlers >
    < add name =«PHP4» path ="*.php" verb ="*" modules =«FastCgiModule»
    scriptProcessador ="C:\inetpub\php\php41.exe"
    resourceType = "Não especificado" />

    * Este código-fonte foi destacado com .

    Usando diferentes configurações de PHP

    Se você quiser configurar o PHP de forma diferente para
    sites diferentes, então, novamente, tudo isso pode ser descrito através das definições de configuração em
    aplicativoHost.config.
    < fastCgi >

    < application fullPath ="C:\inetpub\php\php-cgi.exe"

    argumentos = "-d meu.site=wordpress" >

    < environmentVariables >

    < environmentVariable name =«PHPRC» value =«C:\inetpub\wordpress» />





    < application fullPath ="C:\inetpub\php\php-cgi.exe"

    argumentos = "-d meu.site=phpsite" >

    < environmentVariables >

    < environmentVariable name =«PHPRC» value =«C:\inetpub\phpsite» />






    * Este código-fonte foi destacado com .

    Depois disso, as configurações são associadas aos sites correspondentes em
    web.config:
    < system.webServer >

    < handlers accessPolicy =«Read, Script» >
    < add name =«PHP» path ="*.php" verb ="*" modules =«FastCgiModule»
    scriptProcessador ="C:\inetpub\php\php-cgi.exe|-d meu.website=wordpress "

    resourceType = "Não especificado" requireAccess = "Script" />




    * Este código-fonte foi destacado com .

    De acordo com a configuração fornecida, php.ini
    deve ser colocado no diretório de cada site.
    Ao editar as configurações, você deve garantir estritamente que os caminhos para
    versão PHP correspondente e com
    applicationHost.config e em web.config para que
    evite resultados inesperados se os caminhos estiverem misturados.
    À primeira vista, editar a configuração pode parecer complicado e
    processo inconveniente, mas depois que você se acostumar com a configuração em
    Método de distribuição de XML e configurações
    Ctrl+C, Ctrl+V, você ficará surpreso com a presença de outras pessoas
    métodos de configuração :)

    Configurações de segurança PHP

    Existem muitas configurações diferentes no php.ini, muitas das quais
    afetar a segurança do uso do PHP. Sintonia
    tudo de maneira adequada, uma causa digna.
    Definir permitir_url_fopen = Desativado
    ; usando URLs para operações de arquivo
    Definir permitir_url_include = Desativado
    registrar_globals=Desativado
    ; cancelando o registro de variáveis ​​globais
    open_basedir=“c:\inetpub\” ;
    restrição no diretório em que o PHP é executado

    Tempo_máximo_de_execução=30; limitação
    tempo de execução do script
    max_input_time=60
    limite_memória=16M;
    limite no tamanho da memória usada
    upload_max_filesize=2 milhões
    post_max_size = 8 milhões
    max_input_nesting_levels=64
    display_errors=Desligado
    ; desabilitar mensagens de erro
    log_errors=Ativado
    error_log="C:\error.log"
    expor_php=Desligado
    ; ocultar a presença do PHP

    Conclusão

    PHP no Windows não é
    É simplesmente interessante e conveniente, o principal é que funcione. E a equipe
    IIS está trabalhando para criar PHP
    não funcionou pior no Windows do que no
    Unix/Linux (claro, eles estão tentando fazer melhor).
    Como este é um tópico novo para a Microsoft, podemos
    cometer alguns erros, podemos não perceber ou entender algo, então
    É muito importante receber comentários de vocês - desenvolvedores e administradores.
    Escreva nos comentários seus desejos e problemas que você vê agora em
    PHP no Windows, e iremos
    tente resolver problemas e realizar desejos.

    Tags: Adicionar tags