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
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

从安装PHP到第一个tomcat执行的hello world其实没那么难的更多相关文章

  1. [视频解说]Java(JDK的下载安装及第一个程序执行)

    (JDK的下载安装及第一个程序执行) 内容:Java JDK 的安装以及HelloWorld 程序的执行 欢迎童鞋们前往围观 http://v.youku.com/v_show/id_XODA3Mzk ...

  2. CentOS Linux下一个tomcat起停,查看日志的shell script

    CentOS 的tomcat安装目录:/usr/local/tomcat vi MyTomcatUitl.sh          创建文件chmod u+x MyTomcatUtil.sh   赋执行 ...

  3. tomcat 安装配置部署到nginx+tomcat+https

    目录 1 Tomcat简介 2.下载并安装Tomcat服务 2.2 部署java环境 2.3 安装Tomcat 2.4 Tomcat目录介绍 (关注点 bin conf logs webapps) 2 ...

  4. Docker实战之创建一个tomcat容器

    一.Docker与虚拟机的区别 二.Docker学习步骤 2.1:安装宿主操作系统 在VMVare中安装了Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic ...

  5. 如何在Cent OS上安装和部署jdk与tomcat?

    Cent OS是一款Linux系统.在商业应用中,Linux操作系统在服务器市场有着广泛的运用,这源于Linux系统的几大优点: 1.跨平台的硬件支持 由于Linux 的内核大部分是用C 语言编写的, ...

  6. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  7. Centos安装MySql、Java、Tomcat

    一.安装MySql 安装MySql yum install -y mysql-server mysql mysql-devel 启动MySql服务 service mysqld start 为root ...

  8. 阿里云centos下安装nginx、jdk、tomcat、绑定域名、解析域名

    1.ESC后安全设置(管理控制台->本实例安全组->配置规则->添加安全组规则->3306.80端口配置) 2.nginx  安装,首先安装三大件  PCRE.zlib.ope ...

  9. 安装oracle11g client 【INS-30131】执行安装程序验证所需的初始设置失败的解决方法

    今天在服务器(操作系统windows server 2008R2)上安装Oracle11g 客户端,弹出“执行安装程序验证所需的初始设置失败”,如上图.网上找了一些方法,简单整理如下,仅供参考. 问题 ...

随机推荐

  1. css display block 和 inline

    根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...

  2. 26.centos7基础学习与积累-012-文件和目录的属性

    从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.文件的属性(文件的信息描述): [root@python01 ~]# ls -l ...

  3. 美好的童年伙伴:360 智能儿童手表 P1体验评测

    写在前面 少年儿童作为祖国的花朵,未来的栋梁,也是我们每个做家长的心头肉.近年来各种新闻报道中校园欺凌.虐待事件频发,虽然依然只是个别事件,但我们依然会心怀担忧. 360作为安防软件起家的专业公司,凭 ...

  4. SQL模糊查询的四种匹配模式

    执行数据库查询时,有完整查询和模糊查询之分,一般模糊语句如下: SELECT 字段 FROM 表 WHERE 某字段 Like 条件 一.四种匹配模式 关于条件,SQL提供了四种匹配模式: 1.% 表 ...

  5. Codeforces E. Interesting Array(线段树)

    题目描述: D. Interesting Arraytime limit per test1 secondmemory limit per test256 megabytesinputstandard ...

  6. steam游戏存档迁移

    之前玩的盗版guacamelee等着打折入正,今天入了,不想重新打了,就把存档从盗版迁移了一下. 盗版的目录是F:\Guacamelee\Profile\ALI213\Saves,该目录下又一个SAV ...

  7. @Scope("prototype")

    spring中bean的scope属性,有如下5种类型: singleton 表示在spring容器中的单例,通过spring容器获得该bean时总是返回唯一的实例prototype表示每次获得bea ...

  8. python_常用断言assert

    python自动化测试中寻找元素并进行操作,如果在元素好找的情况下,相信大家都可以较熟练地编写用例脚本了,但光进行操作可能还不够,有时候也需要对预期结果进行判断. 常用 这里介绍几个常用断言的使用方法 ...

  9. 解决Android8.0系统应用打开webView报错

    由于webView存在安全漏洞,谷歌从5.1开始全面禁止系统应用使用webview,使用会导致应用崩溃错误提示:Caused by: java.lang.UnsupportedOperationExc ...

  10. MySQL——查询优化|47s到0.1s|我做了什么

    前言 这个代码是之前的同事写的,现在我接管了,但是今天早上我打开这个模块的时候发现数据加载异常的缓慢,等了将近一分钟左右数据才显示到页面. 这特么的绝对不正常啊,数据量压根没那么多呀,这特喵的什么情况 ...