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

IIS에서 PHP 서버 구성 소개

coldplay.xixi
풀어 주다: 2021-02-20 09:35:46
앞으로
7151명이 탐색했습니다.

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로 바꾸고 다음과 같이 수정합니다.

<1>확장 플러그인 경로

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

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

<2>소개할 플러그인 설정

; 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만 소개했습니다.

<3>시간대 설정

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
로그인 후 복사

<4>짧은 태그 지원

; 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
로그인 후 복사

<5>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
로그인 후 복사

<6>cgi 관련 설정 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
로그인 후 복사

<7>cgi 관련 설정 리디렉션 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
로그인 후 복사

<12>PHP 버전 숨기기

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

upload_max_filesize = 100M
로그인 후 복사

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

.

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

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

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

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

<2>ISAPI 및 CGI 제한

<3>사이트 추가

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

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

<4>사이트 기본 페이지 설정

<5>기본 페이지 추가

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

expose_php = Off
로그인 후 복사

<6>을 입력하여 웹사이트를 엽니다.

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

<?php phpinfo(); ?>
로그인 후 복사

브라우저에서 yourdomain.com을 열면 볼 수 있습니다. index.php 파일이 성공적으로 구문 분석되었음을 알리면 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>
로그인 후 복사

<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证书。

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

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿