I just installed PHP 5.2.8 (MSI package) on windows XP, IIS 5.1.
Selected IIS-ISAPI, always got error "The specified module could not be found." (firefox), HTTP 500 Internal Server Error (ie 7). Even though no extensions were selected.
Trick: Install PHP to C:\PHP (and not to C:\Program Files\PHP)
In your IIS web site properties, tab home directory, configuration, application mappings.
Remove the quotes before and after the executable path and the problem will be solved.
Instalador para Windows (PHP 5.2 ou posterior)
O Instalador do PHP para Windows para versões recentes do PHP é feito usando a tecnologia MSI através do Wix Toolkit (» http://wix.sourceforge.net/). Ele instala e configura o PHP e todas as extensões PECL integradas, assim como configura muitos dos web servers mais populares, como IIS, Apache, e Xitami.
Primeiro, instale seu servidor HTTP (web) predileto no seu sistema e verifique que ele funciona. Então prossiga com um dos seguintes tipos de instação.
Instalação Normal
Execute o instalador MSI e siga as instruções fornecidas pelo programa. Ele primeiro perguntará qual Web Server você deseja configurar, assim como qualquer detalhe de configuração necessário.
Depois você deve selecionar quais funcionalidades e extensões você deseja instalar e habilitar. Para cada item disponível, você pode selecionar "Será instalado no disco local" no menu para determinar quais funcionalidades serão instaladas. Selcionado "Funcionalidade inteira será instalada no disco local", você poderá instalar todas as sub-funcionalidades vinculadas à funcionalidade (por exemplo, selecionar essa opção na extensão "PDO" você instalará todos os drivers PDO).
Não é recomendado instalar todas as extensões, já que muitas dependem de extensões externas ao PHP para funcionarem corretamente. Ao invés, use o Installation Repair Mode (Modo de Reparo) que pode ser acionado através da opção Add/Remove Programs (Adicionar/Remover Programas) do painel de controle para habilitar ou desabilitar extensões após a instalação.
O instalador então instala o PHP para ser usado no Windows e o arquivo php.ini, e configura certos servidores web para usá-lo. O instalador configura, atualmente, o IIS, Apache, Xitami e Sambar; se você estiver usando um servidor web diferente, você precisa configurá-lo manualmente.
Instalação silenciosa
O instalador também suporta um modo silencioso, que é útil para administradores de sistema implantarem o PHP facilmente. Para usar o modo silencioso:
msiexec.exe /i php-VERSION-win32-install.msi /q
Você pode controlar o diretório de instalação passando ele como parâmetro de linha de comando. Por exemplo, para instalar em e:\php:
msiexec.exe /i php-VERSION-win32-install.msi /q INSTALLDIR=e:\php
Você pode especificar quais funcionalidades instalar. Por exemplo, para instalar a extensão mysqli e o executável CGI:
msiexec.exe /i php-VERSION-win32-install.msi /q ADDLOCAL=cgi,ext_php_mysqli
A lista atual de funcionalidades para instalação é a seguinte:
MainExecutable - php.exe executable ScriptExecutable - php-win.exe executable ext_php_* - the various extensions ( for example: ext_php_mysql for MySQL ) apache13 - Apache 1.3 module apache20 - Apache 2.0 module apache22 - Apache 2,2 module apacheCGI - Apache CGI executable iis4ISAPI - IIS ISAPI module iis4CGI - IIS CGI executable NSAPI - Sun/iPlanet/Netscape server module Xitami - Xitami CGI executable Sambar - Sambar Server ISAPI module CGI - php-cgi.exe executable PEAR - PEAR installer Manual - PHP Manual in CHM Format
Para mais informações sobre instalando usando instaladores MSI a partir da linha de comando, visite » http://msdn.microsoft.com/en-us/library/aa367988.aspx
Atualizado o PHP com o instalador
Para fazer atualização, execute o instalador ou graficamente, ou a partir da linha de comando normalmente. O instalador lerá as opções atuais instalação, remover a instalação velha e reinstalará o PHP com as mesmas opções de antes. É recomendado que você use esse método para manter o PHP atualizado ao invés substituir manualmente os arquivos no diretório de instalação.
Apache2 on Windows (PHP 5.3.1):
Install VC6 x86 THREAD SAFE. If you do not see Apache in the list of webservers, it is because you downloaded the NON-THREAD SAFE installer.
Tryed installing PHP several times using the MSI instalation, which defaults to "C:\Prorame Files\PHP", and could not work at all.
The OS: Windows XP, with SP3
Web Server: IIS 5.1
Instalation Steps:
Step 1: Install the MSI Instalation, but make sure you select the instalation folder to be "C:\PHP" and NOT "C:\Programe Files\PHP\".
Step 2: Copy the "php.ini" fil from "C:\PHP", to "C:\Windows\" folder. Keep the default settings, so far OK.
Step 3: Go to IIS, Open "Default Website", Properties, and open the "Home Directory" tab, and then "Configue" buttton.
Step 4: Click 'Add" under Mappings Tab, and browse for "C:\PHP\php-cgi.exe" file from 'Browse', and add ".php" (i.e. without the Qoutes ""). Keep "Verb" settings to "All Verbs" and click "OK"
Step 5: Create a php file with : <?php phpinfo();?>, and test.
It should be working fine by this time.
Hope this was helpful to all.
I have just spent a tiresome morning trying to get PHP 5.2 / 5.3 installed onto Apache 2.2 (WinXPSP2) (Slight oddity in setup that program files on D: drive)
I have finally got it to work by using the following:
1) Getting installation script to use "Other CGI" (would be nice if it mentioned Apache - I believe it to be a fairly popular option)
2) Adding the following directives to httpd.conf (the Apache configuration file)
ScriptAlias /php/ "D:/Program Files/PHP/"
(This tells Apache to treat the PHP directory as script files/executables and alias it under /php/ for ease of use later)
AddHandler x-httpd-php .php
(This tells apache to recognise all .php files as of type x-httpd-php (equally you could call them anything you liked and after this mornings debacle I can think of one or two choice phrases)
Action x-httpd-php "php/php-cgi.exe"
(The tells Apache to use php-cgi.exe to handle files of type x-httpd-php (or .php files as we declared earlier). php-cgi.exe only exists if you have selected the "Other CGI" option at installation". A lot of stuff around on the web is pointing at php.exe which is now failing. Has this changed recently?)
Two aspects of a typical Windows installation:
1) The default behavior for short_open_tag is OFF. You must edit php.ini and explicitly set it to ON. This means most developers will have their source code displayed rather than the script executed. short_open_tag OFF means the php tags must be <?php ?> and the shorter <? ?> will not be interpreted.
2) When using php as cli from the command line, Windows 7 will perform the file association in such a way that running a script from the command line will not accept additional arguments. Note, however that typing the full path to the executable will see arguments. As Windows 7 has a limited file associations GUI, the fix is to open regedit and change the key HKEY_CLASSES_ROOT\Applications\php.exe\shell\open\command from its default value of "C:\php\php.exe" "%1" to instead read "C:\php\php.exe" "%1" "%2" "%3" "%4" "%5" "%6" "%7" "%8" "%9"
Using the installer, I have been getting the "cannot run script" error on Windows XP and IIS 5.1. I used both the Zip file and installer filer to make it successful:
1. I downloaded the zip file (not the installer) into C:\php\,
2. extracted the contents to the same directory (C:\php\).
3. Downloaded and ran the installer into the C:\php\
Nagesh A
On IIS 5.1 (Windows XP) and IIS 6.0 (Windows Server 2003) the following installation method goes very smoothly, but for three additional tasks.
Before installing PHP 5.2.x using the Microsoft Web Platform Installer, make sure:
C:\PHP does not exist
C:\Program Files\PHP does not exist (it will be created)
C:\Windows\php.ini does not exist (you won't need it there)
Run Microsoft Web Platform Installer allowing it to install FastCGI support and PHP 5.2.x.
After installation you should have PHP installed in C:\Program Files\PHP.
An examination of php.ini will show you will not likely need to change any settings, except the sendmail_from address. The Windows specific settings have been set, but are grouped together under:
; Default timeout for socket based streams (seconds)
Those are:
upload_tmp_dir="C:\WINDOWS\Temp"
session.save_path="C:\WINDOWS\Temp"
error_log="C:\WINDOWS\temp\php-errors.log"
cgi.force_redirect=0
fastcgi.impersonate=1
fastcgi.logging=0
In addition to having the correct minimal IIS settings already set in php.ini, you will find the Path has had C:\Program Files\PHP\ added, and the environment variable PHPRC is set correctly.
The three things not performed by the install but needed to run:
1.
HKEY_LOCAL_MACHINE\Software\PHP\IniFilePath may be wrong. It should not be C:\Windows, but C:\Program Files\PHP, which is what is set in both the PATH and PHPRC. (This could be a left over setting from a previous install, but the installer does not correct it.)
2.
In IIS manager, under the default web site properties, Home Directory (tab), Configuration (button), Mappings, the entry for .php may be missing or wrong. It should be:
Executable: "C:\Program Files\PHP\php-cgi.exe" with the quotes.
Verbs: Limit To: GET,HEAD,POST,TRACE
Script Engine checkbox checked
Check That File Exists checkbox checked.
3.
The installer will not set the proper security permissions for php-cgi.exe or php.ini, both of which need to be accessible to the default Internet user account: e.g. IUSR_machine name.
In Windows Explorer, navigate to the C:\Program Files\PHP folder, right click, properties, security (tab), add IUSR_machinename and accept the default security permissions.
All of these seemed to take effect without a reboot, but a reboot is suggested. Note: Items 1 and 2 may be left over from previous installations and might possibly be rightly ignored by the installer, but if they are not corrected (at least check) you are going to have a problem.
Item 3 is not going to be performed by the installer. You will have to do it based on how you have security permissions set in IIS.
I just installed PHP 5.2.8 as an ISAPI-extension for IIS 6 in Windows 2003 server.
I used the Windows installer, but had to make a few changes manually:
- Copy php.ini from the PHP folder (C:\Program Files\PHP) to the Windows folder (C:\Windows).
- Enable the ISAPI extension. (In IIS Manager under "Web Service Extensions" add a new extension with "Required files" set to C:\Program Files\PHP\php5isapi.dll).
- Add index.php to default index pages (select properties for "Web Sites", add it on the "Documents" tab).
I think a lot of people are turned away from using PHP because it is such a nightmare to install. I install Apache/PHP and it never works.
With todays technology, is there not an installer that just works for PHP and Apache together? There are so many versions/binaries but how about publishing one that just works.
I've been developing in PHP for over 10 years now and yes I still have issues trying to get this to install on a new machine. It usually takes me about 4-5 hours every time even though it should only be a couple of steps to get it to work.
run php as CGI binary, and add these to httpd.conf,
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
ScriptAlias /php/ "C:/php/"
Action application/x-httpd-php "C:/php/php-cgi.exe"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
<Directory "C:/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Directory "C:/php">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
finally it works
