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. selenium三个等待方法

    为什么需要等待时间:页面加载需要时间,如果页面没有加载完成,直接去定位,可能定位不到元素 1.强制等待: import time time.sleep(2) 不管有没有完成加载,必须等待2秒 2.隐式 ...

  2. SpringBoot + sqlserver+mybatis

    一.maven引入 <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId&g ...

  3. centos7 ipython安装

    ##下载yum源(Centos 7 为例)[root@localhost ~]# wget http://mirror.centos.org/centos/7/extras/x86_64/Packag ...

  4. Linux文件恢复利器 ext3grep与extundelete

    介绍两款Linux文件恢复工具,ext3grep与extundelete,可能在关键时刻会有所帮助.ext3grep仅对ext3文件系统有效,extundelete对ext3与ext4文件系统都有效 ...

  5. 20.centos7基础学习与积累-006-软实力-画图

    从头开始积累centos7系统运用 亿图是用指南 安装亿图软件 修改基础配置 路径:文件==>选项==>常规 需要修改的参数: 撤销次数:256 自动保存间隔:2分钟 路径:文件==> ...

  6. c++查询特定字符串位置

    size_t find (const string& str, size_t pos = 0) const noexcept;(摘自c++官网:std::string::find) size_ ...

  7. app安全测试初级

    分析方法:静态分析 主要是利用apktool.dex2jar.jd-gui.smali2dex等静态分析工具对应用进行反编译,并对反编译后的java文件.xml文件等文件进行静态扫描分析,通过关键词搜 ...

  8. Principal Component Analysis: 用公式来描述我们想要PCA做什么

    PCA要做什么?       我们想将数据从二维降到一维,那么怎么找到这条好的直线对数据进行投影呢? 上图中红色的那条直线是个不错的选择,因为点到投影到这条直线上的点之间的距离(蓝色的线)非常小;反之 ...

  9. django 进行语言的国际化及在后台进行中英文切换

    项目的部署地为: 中国大陆与美国东海岸, 两个地区的服务器数据不进行同步, 中国地区的服务器页面展示中文, 美国地区的服务器页面展示成英文, 项目后台使用python编程语言进行开发, 并结合djan ...

  10. EntityFramework6 学习笔记(一)

    1.什么是EF? EF是一种ORM(Object-relational mapping)框架,它能把我们在编程时使用对象映射到底层的数据库结构.比如,你可以在数据库中建立一个Order表,让它与程序中 ...