Note that if you place php in the c:\php5 director your ScriptAlias line should read
ScriptAlias /php/ "c:/php5/"
This may be obvious to regular Apache users, but I changed all sorts of things around before realizing this was the issue. I thought
Action application/x-httpd-php "/php/php-cgi.exe"
was a path and was changing it to "/php5/php-cgi.exe" which didn't work.
Apache 1.3.x no Microsoft Windows
Essa seção contem notas e dicas específicas para instalação do Apache 1.3.x com o PHP nos sistemas Microsoft Windows. Também há instruções e notas para o Apache 2 em uma página separada.
Nota:
Por favor, leia os passos da instalação manual primeiro!
Existem duas maneiras de configurar o PHP para funcionar com o Apache 1.3.x no Windows. Uma é usar o binário CGI (php.exe para o PHP 4 e php-cgi.exe para o PHP 5), e a outra é usar o DLL do módulo do Apache. Em ambos os casos você precisa editar o arquivo httpd.conf para configurar o Apache para funcionar com o PHP e, então, reiniciar o servidor.
Vale a pena notar que agora o módulo SAPI tornou-se mais estável no Windows, nós recomendamos o seu uso ao invés do binário CGI, uma vez que é mais transparente e seguro.
Embora existam algumas pequenas variações de configuração do PHP com o Apache, elas são simples o suficiente para ser usado por iniciantes. Por favor, consulte a Documentação do Apache para mais diretivas de configuração.
Depois de mudar o arquivo de configuração, lembre-se de reiniciar o servidor, por exemplo, executando NET STOP APACHE seguido de NET START APACHE, se você rodar o Apache como um Windows Service, ou user os atalhos normais.
Nota: Remember that when adding path values in the Apache configuration files on Windows, all backslashes such as c:\directory\file.ext should be converted to forward slashes: c:/directory/file.ext. A trailing slash may also be necessary for directories.
Instalando como um módulo do Apache
Você deve adicionar as seguintes linhas para o seu arquivo httpd.conf:
Exemplo #1 PHP como um módulo do Apache 1.3.x
Presume-se que o PHP esteja instalado em c:\php. Ajuste o caminho se não for o seu caso.
Para o PHP 4:
# Adicione ao fim da seção LoadModule # Não se esqueça de copiar esse arquivo do diretório sapi LoadModule php4_module "c:/php/php4apache.dll" # Adicione ao fim da seção AddModule AddModule mod_php4.c
Para o PHP 5:
# Adicione ao fim da seção LoadModule LoadModule php5_module "c:/php/php5apache.dll" # Adicione ao fim da seção AddModule AddModule mod_php5.c
Para ambos:
# Adicione essa linha dentro das tags condicionais <IfModule mod_mime.c> AddType application/x-httpd-php .php # Para arquivos .phps com highlight de sintaxe adicione também AddType application/x-httpd-php-source .phps
Instalando como um binário CGI
Se você dezipou o pacote PHP para o diretório C:\php\ como descrito na seção Passos da Instalação Manual, você precisa inserir as seguintes linhas ao arquivo de configuração do Apache para configurar o uso do binário CGI:
Exemplo #2 PHP e Apache 1.3.x como CGI
ScriptAlias /php/ "c:/php/" AddType application/x-httpd-php .php # Para o PHP 4 Action application/x-httpd-php "/php/php.exe" # Para o PHP 5 Action application/x-httpd-php "/php/php-cgi.exe" # especifica o diretório onde o php.ini está SetEnv PHPRC C:/php
Um servidor dispoto em modo CGI está aberto para várias vulnerabilidades possíveis. Por favor, leia nossa seção de segurança CGI para aprender em como se defender de tais ataques.
Se você gostaria de apresentar os códigos-fonte dos PHP com highlight de sintaxe, não exites uma opção conveniente como na versão de módulo. Se você escolheu configura o Apache para usar o PHP como um binário CGI, você precisará usar a função highlight_file(). Para fazer isso, simplesmente crie um script PHP e adicione esse código: <?php highlight_file('some_php_script.php'); ?>.
DO NOT FORGET to add "index.php" into
<IfModule mod_dir.c>
DirectoryIndex index.html
</IfModule>
so you get index.php processed;multiple values separate by space:
<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>
To Besta and 'j dot b..dot sk':
'Add Module mod_php4.c' or 'AddModule mod_php5.c' may or may not be necessary depending on your environment and version of Apache.
In my situation, this add module DID NOT work or it wasn't necessary. The LoadModule was enough to do the trick. I tried it with PHP4 on Apache 1.3.34 and Apache 2.0.
All in all, your notes have been helpful. Thanks.
Do not add this line to apache http.conf. It does not work.
AddModule mod_php5.c
Also, remember to edit the system variables, edit the PATH and add the path to the php directory and restart windows.
Please note that the SetEnv PHPRC "directory/to/phpini/" only works when using PHP as CGI, but _not_ when you use the PHP Apache Module!
Entries to httpd.conf for PHP 5:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
must appear BEFORE
LoadModule php5_module "C:/php/php5apache.dll"
This should NOT be added:
AddModule mod_php5.c
It makes no sense since AddModule means activation of a module compiled staticly into the Apache. We ofcourse do not have that!
