让Tomcat 支持PHP 配置的坑,

使用Tomcat 后.如果需要运行 PHP 脚本.的方法

**第一步骤 : **下载. PHP
https://windows.php.net/download#php-7.3

让Tomcat 支持PHP 配置的坑,_第1张图片
注意:
Thread safe 或者 Non Thread Safe

Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。
再来看PHP的两种执行方式:ISAPI和FastCGI。
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(搭配IIS)执行 PHP ,都建议下载执行 non-thread safe 的 PHP (PHP 的二进位档有两种包装方式:msi 、zip ,请下载 zip 套件)。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP(搭配apache)。
如果你还搞不清楚,那么只需知道你是php+apache还是php+iis组合
non-thread-safe 非 线程安全与IIS搭配环境
thread-safe 线程安全 与apache搭配环境

第二步 解压的目录
下载后,解压到 Tomcat 主目录 一个便于辨认使用的文件夹,(以后要配置)
让Tomcat 支持PHP 配置的坑,_第2张图片
第三步 解压后下一个步骤就是 配置环境变量

计算机-属性-高级设置中点击“环境变量”,添加PATH环境变量,可以添加Admin环境变量,

环境变量其实就是把 PHP 安装的目录设置到 path中
也可以添加系统环境变量,看个人需求,

将php解压路径添加到PATH中。
之后打开cmd,输入php -v或 php -version。
在这里插入图片描述

**第四步 ** 创建和修改 php.ini 文件
php路径下的php.ini-development 复制,将副本改名php.ini,
之后用记事本打开php.ini。(可以看出;为其注释符)修改其中两项设置:

去掉extension_dir = "ext"前面的;

cgi.force_redirect修改为0,并去掉前面的;

即 cgi.force_redirect = 0

让Tomcat 支持PHP 配置的坑,_第3张图片

第五步 修改 Tomcat 的配置文件

  • tomcat的conf文件夹。选择context.xml文件,在加上属性privileged=“true”
    让Tomcat 支持PHP 配置的坑,_第4张图片

  • 仍在tomcat的conf文件夹中。

修改web.xml文件,**在中加入如下的**

其中的


      
      executable  
      D:\tomcat\php\php-cgi.exe  
    


这里可以配置一个php 脚本的执行的起始目录 如果不设置
php脚本执行目录就和工程根目录相同.
让Tomcat 支持PHP 配置的坑,_第5张图片

D:\tomcat\php 这个目录是你的实际的 PHP 7.2 的安装的 存放目录
你可能有多个 tomcat 的配置实例目录,但是PHP 7.2 的安装的 存放目录就是你
解压的存放PHP的位置和tomcat 的配置目录位置无关你可以换任何文件夹

  • php 脚本执行的映射方式–扩展名
    让Tomcat 支持PHP 配置的坑,_第6张图片
    这里没有必要写一个目录,如果有需要整理php的目录环境你可以自由发挥.
    个人觉完全没有必要.

第六步 配置 web.xml 和 context.xml 的坑
你如果从一个Tomcat 配置实例目录启动需要配置的 这两个文件就在该配置目录下
例如你可能使用不同端口启动不通 Tomcat 服务器.你就使用那个Tomcat 实例conf下的这两个文件

让Tomcat 支持PHP 配置的坑,_第7张图片
第七步配置执行脚本目录的坑
让Tomcat 支持PHP 配置的坑,_第8张图片

这个是正确配置的
对应
让Tomcat 支持PHP 配置的坑,_第9张图片
这里有两个坑
第一个坑路径参数关键字错误
cgiPathPreflx 这里有个子母" l" 和"i" 的错误

cgiPathPrefix

这个错误将导致 设置的目录是 永远是工程的根目录,

让Tomcat 支持PHP 配置的坑,_第10张图片
这个设置的意思是,
在你的web 设置目录下 (工程根目录) 设置了一个php脚本的执行的虚拟根目录
实际上是工程目录下的 phpbin 目录

		执行的时候就是   主机ip/index.php 形式 而实际上在 工程目录/phpbin/index.php

**第二个坑 **

php
	org.apache.catalina.servlets.CGIServlet

如果这个词条出现错误的子母也将导致意想不到的问题.

这个问题还涉及到工程目录的设置问题
打开 server.xml 文件夹

让Tomcat 支持PHP 配置的坑,_第11张图片


这一句的意思是 服务器的根目录是 webapps 目录
所有的工程目录必须放在这个目录下.

这里的一个坑就是默认执行的是 webapps/ROOT 目录而不是 webapps 目录本身.

设置你的工程目录作为根目录


这一句的意思就是 工程目录 StudentERP 作为服务执行的根目录,

总结:
文字输入错误
字段目录设定意义的曲解.

你可能感兴趣的:(Android,studio,开发,Tomcat,php)