001

初入门的朋友问我为什么她的PHP老是不能安装运行成功,作为一个乐(shi)于(li)助(liao)人(mei)的半程序员,
自然是要好好研究然后手把手教妹纸了!

002

话不多说,进入正题

为了公平公正公开,我新开了个空的虚拟机,一切从零开始安装的
电脑操作系统位64位 win10,其他系统未经测试可能有未知问题

开始---

  1. 首先,没有什么比下载并……解压一个php更重要的了(是的,并不需要执行安装程序什么的,解压就好)
    天生习惯,就是喜欢最新版的软件,下载后解压到本地。
 
没错,就是这货以及解压后的文件
  1. 然后是环境变量配置,没什么好说的,在Path后面加上php的地址
 
配置环境变量

用命令行执行php -v 可发现php安装成功!

 
验证php安装

至此,我们可以看到php已经装好了,然后就是配置tomcat了

  1. 接着下载tomcat并解压,这里我用的是8.5.23版本,大同小异,推荐使用6.0以上版本tomcat
    解压好后修改tomcat的conf下的web.xml文件,如图在web.xml文件中的web-app标签里加入以下内容:
<listener>
<listener-class>php.java.servlet.ContextLoaderListener</listener-class>
</listener> <servlet>
<servlet-name>PhpJavaServlet</servlet-name>
<servlet-class>php.java.servlet.PhpJavaServlet</servlet-class>
</servlet> <servlet>
<servlet-name>PhpCGIServlet</servlet-name>
<servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class>
<init-param>
<param-name>prefer_system_php_exec</param-name>
<param-value>On</param-value>
</init-param>
<init-param>
<param-name>php_include_java</param-name>
<param-value>Off</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>PhpJavaServlet</servlet-name>
<url-pattern>*.phpjavabridge</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PhpCGIServlet</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>

以及在welcome-file-list标签内加入

<welcome-file>index.php</welcome-file>
 
web-app
 
welcome-file-list
  1. OK,以上都简单,关键的一步的来了,
    tomcat运行在JVM上,要能解析php还得下载几个jar包,点击下载jar包
    链接:http://pan.baidu.com/s/1sloLuHJ 密码:kxjs
    将下载好的JavaBridge.jar、php-servlet.jar和php-script.jar复制到tomcat的lib目录下;

至此,所有配置完成,在tomcat的webapp目录下新建一个php目录,php目录下新建一个index.php文件

  <!DOCTYPE html>
<html>
<head>
<title>hello world</title>
</head>
<body>
<?php
echo "hello world!我的第一段 PHP 脚本!";
?>
</body>
</html>

进入tomcat bin目录启动tomcat,就可以正常访问尼德php项目了

 

FAQ

Q:为什么tomcat启动不成功?
A:tomcat依赖jvm,无法启动时请检查JAVA_HOME,CATALINA_HOME是否配置以及path是否配置jdk路径,还可打开一个命令行,将startup.bat文件拖至命令行回车,可查看启动日志

作者:不玩藤球的猫
链接:https://www.jianshu.com/p/6ed8b1ae275a
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

最新文章

  1. shell实现ping命令查看哪些主机在线
  2. 如何自定义jupyter notebook的主题
  3. 张艾迪(创始人): 整合全新的UIW.AD概念
  4. hdu5548
  5. Cogs 1298.通讯问题
  6. 一键分享到新浪微博、腾讯微博、搜狐微博、人人网、开心网、百度收藏等js代码大全
  7. js之form表单的获取
  8. 跨容器Hybrid离线组件方案
  9. dfs练习
  10. 使用Crowd集成Confluence与JIRA
  11. axd文件
  12. 运维ip语法,DNS配置方法
  13. Flume概念与原理、与Kafka优势对比《转》
  14. threading:线程创建、启动、睡眠、退出
  15. 教你如何在win7中安装cygwin64
  16. ssh 制作免密登录(免密登录多台服务器)
  17. React native 之android的图标和启动图片
  18. Graphviz 环境变量设置
  19. hdu 4352 XHXJ&#39;s LIS 数位dp+状态压缩
  20. OC NSNumber和NSValue和NSDate和NSData

热门文章

  1. InnoDB存储引擎与MyIsam存储引擎的区别
  2. Struts2漏洞导致的反弹shell——青藤云安全使用的是agent进程采集器进行检测
  3. Jenkins - 扯淡篇
  4. vs code 搭建java maven springboot环境
  5. Spark数据倾斜解决方案(转)
  6. django-导入应用包的搜索路径
  7. c#中的new和override的实例
  8. SOA与ESB,微服务与API网关
  9. C# 跨线程对控件赋值
  10. 经肝药酶CYP3A4代谢的药物对比记录