>주제 >IIS >IIS에서 PHP 서버 구성 소개

IIS에서 PHP 서버 구성 소개

coldplay.xixi
coldplay.xixi앞으로
2021-02-20 09:34:307180검색

IIS에서 PHP 서버 구성 소개

권장(무료): IIS

1. PHP 인터프리터를 다운로드하세요

주소는 http://windows.php.net/download/

두 가지 버전이 있습니다. safe 그리고 비스레드 안전, 스레드 안전은 Apache용, 비스레드 안전은 iis용입니다. iis로 구성하고 싶으므로 시스템 시스템에 따라 비스레드 안전 x86 및 x64를 다운로드하고 선택하세요. 해당 버전을 다운로드하세요.

2.php 인터프리터를 설치합니다

php를 설치할 필요는 없다고 할 수 있습니다. c:php에 파일의 압축을 풀고 나서 설치하면 됩니다. E:PHP) 폴더에 설치가 완료되었습니다.

3. php.ini 구성

php.ini-development를 복사하고 이름을 php.ini로 바꾸고 다음과 같이 수정합니다.

f35d6e602fd7d0f0edfa6f7d103c1b57확장 플러그인 경로

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

수정 마지막 줄에 직접 입력하세요. 실제 PHP 인터프리터 주소와 모든 플러그인이 포함된 ext 폴더가 옵니다.

2cc198a1d5eb0d3eb508d858c9f5cbdb소개할 플러그인 설정

; 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

소개할 플러그인 , 앞에 있는 세미콜론만 제거하세요. 여기서는 mysql, mysqli, mbstring만 소개했습니다.

5bdf4c78156c7953567bb5a0aef2fc53시간대 설정

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai

23889872c2e8594e0f446a471a78ec4c짧은 태그 지원

; 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

43ad812d3a971134e40facaca816c822fastcgi 활성화

; 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

efbfa0de8737dc86eae413541a49df20cgi 관련 설정 pathinfo

; 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

40107655ec554331c1c6222ab67a141ccgi 관련 설정 리디렉션 R

; 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
AT; 8 & GT; 세션 스토리지 PATHAPATINGRR
; 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"

& LT; 9 & gt; DATABASE

MYSQL.DEFAULT_PORT = 3306

MYSQL.DEFAULT_HOST = LOCALHOST

MYSQL.default_user = root


& lt; 10 & gt; 출력 Cache
& lt; 11>최대 업로드 파일 크기 제한

; 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

8141c42af04c24b6c356713ee262f06aPHP 버전 숨기기

On을 Off로 변경하면 PHP 버전이 헤더에 표시되지 않습니다

upload_max_filesize = 100M

4 시스템 디렉토리에 php.ini를 넣습니다

.

구성이 완료된 후 c:windows 아래에 php.ini 복사본을 배치합니다. win7에서 iis7을 사용하는 경우 더 이상 이 작업을 수행할 필요가 없습니다.

5. IIS 구성(IIS는 기본적으로 설치되어 있으며, IIS 설치 방법은 여기서 소개하지 않습니다.) f35d6e602fd7d0f0edfa6f7d103c1b57HandlerMappings

클릭 후 좋습니다. 경고 대화 상자가 나타나면 "예"를 클릭하세요.

참고: FastCgiModule 모듈은 처음에는 사용하지 못할 수도 있습니다. Windows 기능을 켜거나 끄려면 - 웹 서버 IIS - 역할 서비스 추가 - CGI를 선택하여 설치하십시오.

2cc198a1d5eb0d3eb508d858c9f5cbdbISAPI 및 CGI 제한

5bdf4c78156c7953567bb5a0aef2fc53사이트 추가

특정 경로 아래에 폴더를 생성하고, IIS에 사이트를 추가하고, 이 폴더를 다음으로 추가하세요. 사이트

사이트를 추가한 후에는 모든 사용자를 해당 사이트에 추가하고 전체 권한을 부여해야 합니다.

23889872c2e8594e0f446a471a78ec4c사이트 기본 페이지 설정

43ad812d3a971134e40facaca816c822기본 페이지 추가

웹사이트의 루트 디렉터리에 index.php라는 파일을 만듭니다. 내용

expose_php = Off

efbfa0de8737dc86eae413541a49df20을 입력하여 웹사이트를 엽니다.

호스트 포인터를 구성하고 다음과 같이 방금 구성된 웹사이트 도메인 이름을 127.0.0.1로 지정합니다.

<?php phpinfo(); ?>

브라우저에서 yourdomain.com을 열면 볼 수 있습니다. index.php 파일이 성공적으로 구문 분석되었음을 알리면 php 관련 정보가 표시됩니다.

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

6、集成CodeIgniter框架

f35d6e602fd7d0f0edfa6f7d103c1b57下载CodeIgniter

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

2cc198a1d5eb0d3eb508d858c9f5cbdb整合CodeIgniter

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

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

5bdf4c78156c7953567bb5a0aef2fc53添加favicon图标

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

7、有可能出现的问题

f35d6e602fd7d0f0edfa6f7d103c1b57丢失 MSVCR110.dll

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

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

-点击下载

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

-点击下载

-安装

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

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

在web.config-files节点改为:

            <files>
 <clear />
                 <add value="index.php" />
 <add value="index.html" />
             </files>

5bdf4c78156c7953567bb5a0aef2fc53服务器部署中常见问题

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

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

23889872c2e8594e0f446a471a78ec4c升级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,下载安装就好了。

43ad812d3a971134e40facaca816c822最便捷的解决方案

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

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

8、在本地配置https

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

위 내용은 IIS에서 PHP 서버 구성 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제