Maison > Les sujets > IIS > Introduction à la configuration du serveur php sur IIS

Introduction à la configuration du serveur php sur IIS

coldplay.xixi
Libérer: 2021-02-20 09:35:46
avant
7161 Les gens l'ont consulté

Introduction à la configuration du serveur php sur IIS

Recommandé (gratuit) : IIS

Téléchargez l'interpréteur php

L'adresse est http://windows.php.net/download/

Il existe deux versions, thread-safe et non-thread-safe pour Apache, et non thread-safe. C'est pour iis. Nous voulons le configurer avec iis, donc téléchargez la version non thread-safe. Pour x86 et x64, vous pouvez choisir la version correspondante à télécharger en fonction du système de votre machine. .

2. Installez l'interpréteur php

on peut dire que php n'a pas besoin d'être installé, décompressez simplement le fichier dans c:php

( généralement pas sur le disque système, alors placez le dossier E:PHP), même si l'installation est terminée.

3. Configurez php.ini

Copiez php.ini-development, renommez-le en php.ini et apportez les modifications suivantes :

< 1>Le chemin du plug-in d'extension

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
 extension_dir = "c:\PHP\ext"
Copier après la connexion

Modifiez la dernière ligne et renseignez la véritable adresse de votre interpréteur PHP, suivi du dossier ext, qui contient tous les plug-ins

<2> ;Définissez les plug-ins à introduire

; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.
;
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_fileinfo.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
Copier après la connexion

Supprimez simplement le point-virgule devant le plug-in à introduire. J'ai uniquement introduit mysql, mysqli et mbstring ici.

<3>Définir le fuseau horaire

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
Copier après la connexion

<4>Supporter les balises courtes

; This directive determines whether or not PHP will recognize code between
; <? and ?> tags as PHP source which should be processed as such. It is
; generally recommended that <?php and ?> should be used and that this feature
; should be disabled, as enabling it may result in issues when generating XML
; documents, however this remains supported for backward compatibility reasons.
; Note that this directive does not control the <?= shorthand tag, which can be
; used regardless of this directive.
; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = On
Copier après la connexion

<5>Activer fastcgi

; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
; security tokens of the calling client.  This allows IIS to define the
; security context that the request runs under.  mod_fastcgi under Apache
; does not currently support this feature (03/17/2002)
; Set to 1 if running under IIS.  Default is zero.
; http://php.net/fastcgi.impersonate
fastcgi.impersonate = 1
Copier après la connexion

<6> ; informations sur le chemin des paramètres liés au cgi

; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP&#39;s
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
Copier après la connexion

<7>redirection des paramètres liés au cgi

; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; most web servers.  Left undefined, PHP turns this on by default.  You can
; turn it off here AT YOUR OWN RISK
; **You CAN safely turn this off for IIS, in fact, you MUST.**
; http://php.net/cgi.force-redirect
cgi.force_redirect = 0
Copier après la connexion

<8>chemin de stockage de la session

; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process&#39;s umask.
; http://php.net/session.save-path
session.save_path = "d:\server\web\session"
Copier après la connexion

<9>base de données

mysql.default_port = 3306

mysql.default_host = localhost
mysql.default_user = root

<10>Cache de sortie

; Note: This directive is hardcoded to Off for the CLI SAPI
; Default Value: Off
; Development Value: 4096
; Production Value: 4096
; http://php.net/output-buffering
output_buffering = On//这里应该是填一个值,比如4096
Copier après la connexion

<11>Limiter le téléchargement maximum taille du fichier Valeur

upload_max_filesize = 100M
Copier après la connexion

<12>Masquer la version php

Changez On en Off, la version php ne sera pas affichée dans l'en-tête

expose_php = Off
Copier après la connexion

4. Changer php .ini est placé dans le répertoire système

Une fois la configuration terminée, copiez php.ini et placez-le sous c:windows. Notez que si vous utilisez iis7 dans win7, vous

n'avez déjà pas besoin de faire cela.

5. Configurez IIS (IIS a été installé par défaut, et je ne présenterai pas comment installer IIS ici)

<1>HandlerMappings )

Après avoir cliqué sur OK, une fenêtre contextuelle apparaîtra Une boîte de dialogue d'avertissement, cliquez simplement sur "Oui".

Remarque : Le module FastCgiModule peut ne pas être disponible au début. Pour activer ou désactiver les fonctionnalités de Windows - serveur Web IIS - ajouter un service de rôle - cochez CGI pour installer.

<2>Restrictions ISAPI et CGI

<3>Ajouter un site

Créez un dossier sous un certain chemin, ajoutez le site dans IIS et ajoutez ce dossier en tant que site

Notez qu'après avoir ajouté un site, vous devez y ajouter l'utilisateur Tout le monde et lui accorder toutes les autorisations.

<4>Définir la page par défaut du site

<5>Ajouter une page par défaut

Créez un fichier nommé index.php dans le répertoire racine du site, saisissez

<?php phpinfo(); ?>
Copier après la connexion
dans le contenu

<6>Ouvrez le website

Configurez les hôtes pour qu'ils pointent vers 127.0.0.1, comme ceci :

127.0.0.1 yourdomain.com
Copier après la connexion

Ouvrez votredomaine.com dans le navigateur, vous pouvez voir que le fichier index.php a été analysé avec succès, et le l'affichage est des informations liées à php.

有可能出现的错误:访问可能出现“FastCGI进程意外退出500错误”。默认已经有一个网站占用了所有端口,现在我们又添加一个网站可能导致冲突,把默认那个网站停止就可以了。

6、集成CodeIgniter框架

<1>下载CodeIgniter

下载地址:http://codeigniter.org.cn/

<2>整合CodeIgniter

解压之后,打开CodeIgniter文件夹,将里面的内容复制粘贴到站点的根目录,会提示是否替换掉原来的index.php文件,选择"是",这样框架就算整合完毕了

打开浏览器访问主页,看到的是CodeIgniter框架的提示信息!

<3>添加favicon图标

每个page都会自动去加载favicon图标,因此应该在index.php目录下放置favicon.ico文件,不然都会报错,显示找不到图标。

7、有可能出现的问题

<1>丢失 MSVCR110.dll

第一次访问php网站可能会出现“无法启动此程序,因为计算机中丢失 MSVCR110.dll”的错误,应该这样解决:

-打开微软下载页面:http://www.microsoft.com/zh-CN/download/details.aspx?id=30679

-点击下载

-选择相应的版本,64就选64,32就选32

-点击下载

-安装

完成之后网站就可以正常访问了。

<2>唯一密钥属性“value”设置…无法添加类型为add

在web.config-files节点改为:

            <files>
 <clear />
                 <add value="index.php" />
 <add value="index.html" />
             </files>
Copier après la connexion

<3>服务器部署中常见问题

服务器碰见了一些问题 ,一个就是上面说的value属性,value设置好之后就是cgi问题,没有权限之类的,把php引擎的文件夹设置everyone之后,发现cgi意外退出,直接打开cgi,发现原来是丢失 MSVCR110.dll,把丢失 MSVCR110.dll装上之后好了。

注意,因为把system和application文件夹移到web目录以外,但是程序在访问的时候仍然会访问到这两个文件夹,因此也要把这两个文件夹添加everyone。

<4>升级php7遇到的问题

升级php7传说中性能可以提升很多倍。php5竟然是10多年前的产物...

配置php.ini没碰到什么问题,主要一个是mysql.dll的选项没了,配置数据库的port、username等都不是mysql而是mysqli,这些我就没弄了,在CI里面会有配置,应该没什么大问题。

开始运行,cgi异常。直接打开cgi发现报错:丢失VCRUNTIME140.dll。这个错误是因为最新版的php7(php7.1)需要安装Visual C++Redistributable 2015。

下载地址:https://www.microsoft.com/en-US/download/details.aspx?id=48145,下载安装就好了。

<5>最便捷的解决方案

今天调试刚买的服务器,发现无论怎么弄都会报FastCgi错误,错误代码是***0005,即5号代码的错误。怎么弄都不行,一度怀疑此云服务器的FastCgiModule被阉割了,不能正常运行。

直到找到了这样一个解决方案,https://php.iis.net,可以在线安装。踏破铁鞋无觅处,得来全不费功夫。

8、在本地配置https

本地测试为了可以跟线上一致,以https来测试,必须要配置ssl证书。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal