Tomcat下无法运行PHP脚本

2024-04-21

我正在使用 Tomcat 6。我已经安装了 PHP 并尝试使用 PHP/JavaBridge 在 Tomcat 中运行 PHP。我已在 Tomcat 的 webapps 目录中部署了 JavaBridge.war。当运行任何 PHP 脚本时,我会收到以下错误。请帮助,我感谢您的帮助。

这就是我配置 PHP 的方式:

./configure --with-mime-magic --with-config-file-path=/usr/local/Zend/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr --with-mhash=/usr/local --with-bz2=/usr --with-curl=/usr --with-gettext=/usr --with-mysql=/usr/local/mysql --with-mcrypt=/usr/local --启用魔术引号 --启用 bcmath --启用日历 --启用 ftp --启用套接字 --启用-wddx --启用-mbstring --启用压缩 --启用 exif --with-gd=/usr --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --启用-gd-native-ttf --启用fastcgi --启用强制cgi重定向

Tomcat的错误信息如下:

HTTP 状态 500 -

类型异常报告

message

描述 服务器遇到内部错误 (),导致无法执行 它从满足这个请求。

例外

javax.servlet.ServletException: php.java.bridge.http.FCGIConnectException:无法连接到服务器 php.java.servlet.fastcgi.FastCGIServlet.init(FastCGIServlet.java:133) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861) org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584) java.lang.Thread.run(Thread.java:662)根本原因

php.java.bridge.http.FCGIConnectException:无法连接到服务器 php.java.bridge.http.SocketChannelFactory.test(SocketChannelFactory.java:58) php.java.servlet.fastcgi.FastCGIServlet.init(FastCGIServlet.java:131) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861) org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584) java.lang.Thread.run(Thread.java:662)根本原因

java.io.IOException:java.net.ConnectException:连接被拒绝 php.java.bridge.http.FCGIConnectException.(FCGIConnectException.java:37) php.java.bridge.http.SocketChannelFactory.test(SocketChannelFactory.java:58) php.java.servlet.fastcgi.FastCGIServlet.init(FastCGIServlet.java:131) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861) org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584) java.lang.Thread.run(Thread.java:662)根本原因

java.io.IOException:找不到 PHP。请安装 php-cgi。 PHP测试 命令是:[php-cgi,-v] php.java.bridge.Util$Process.start(Util.java:1145) php.java.servlet.fastcgi.FCGIProcess.start(FCGIProcess.java:68) php.java.bridge.http.SocketChannelFactory.doBind(SocketChannelFactory.java:125) php.java.bridge.http.FCGIConnectionFactory.runFcgi(FCGIConnectionFactory.java:88) php.java.bridge.http.FCGIConnectionFactory$1.run(FCGIConnectionFactory.java:109) 注意 根本原因的完整堆栈跟踪可在 Apache Tomcat/6.0.29 日志。

阿帕奇汤姆猫/6.0.29


我也犯了和你一样的错误 您在这里缺少的关键点是:

PHP CLI(命令行界面)需要setup使用 java-php 桥

正如您声称已经安装了 PHP(任何手段 XAMPP/WAMP)

请执行以下步骤:

  • 将 PHP 添加到 PATH 环境变量 -Help https://stackoverflow.com/a/22607578/2584794
  • 通过运行CMD>确认配置

    php-cgi -v
    
  • 通过上面的命令你会看到PHP版本信息
  • 重启Tomcat

PHP/JavaBridge 应该在此之后开始工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tomcat下无法运行PHP脚本 的相关文章

  • Zend Framework 生成唯一的字符串

    我想生成一个唯一的 4 6 个字符长的字母数字字符串 以便与每个记录 用户 一起保存在数据库中 db 字段具有唯一索引 因此尝试保存预先存在的字符串会生成错误 现在我正在生成一个随机字符串并使用 try catch 因此在添加新记录时如果抛
  • 通过 Ajax 加载内容时,WORDPRESS 音频播放器未加载,MediaElement.js 未应用

    我正在创建一个 WordPress 主题 当我使用 ajax 加载内容时 它不会将 MediaElements js 应用于我的音频播放器 因此不会显示音频 我认为这是因为 MediaElement js 加载了 wp footer 并且此
  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  • 检查 PHP 中“@”字符后面的单词

    我现在正在制作一个新闻和评论系统 但是我已经在一个部分上停留了一段时间了 我希望用户能够在 Twitter 上引用其他玩家的风格 例如 用户名 该脚本看起来像这样 不是真正的 PHP 只是想象脚本 3 string I loved the
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 在 Bash 中监控 tomcat,直到它完成部署 war 或应用程序

    怎么可能Tomcat在 bash 脚本中进行监控以检测它是否完成了战争或应用程序的部署 应用场景 Tomcat 开始于systemd Tomcat 开始于catalina sh 使用 Tomcat 管理器 Tomcat从Eclipse启动
  • PHP 脚本可以在终端中运行,但不能在浏览器中运行

    我正在尝试执行exec命令 但我遇到了问题 当我运行以下代码时 当我通过浏览器运行它时它不起作用 但如果我把输出 str将其复制并粘贴到终端中 它工作得很好 造成这种情况的原因是什么 我该如何解决 目前我正在运行localhost php
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • 以编程方式创建多个按钮:Android

    我知道这个问题之前已经被问过好几次了 但我无法解决我的问题 我正在尝试以编程方式添加多个按钮 我希望按钮水平对齐 但是 只显示一个按钮 到目前为止我尝试过的是 private void locationSort RelativeLayout
  • 如何使用 FileUpload 向受 Azure AD 保护的 REST API 发出 REST API 发布请求

    我有以下 net WEB API Authorize public class TenantController ApiController public async Task
  • DataGridView 单元格类型

    我有带有复选框列的 datagridview 但我希望某些列单元格是文本框单元格 一列中是否可以有多种细胞类型 如果是 那么如何 有两种方法可以做到这一点 Cast a DataGridViewCell到存在的某种细胞类型 例如 转换一个D
  • 从 PyPI 安装我的 sdist 会将文件放在意外的位置

    我的问题是 当我将 Python 包上传到 PyPI 然后使用 pip 从那里安装它时 我的应用程序会崩溃 因为它将我的文件安装到与我简单地从本地 sdist 安装完全相同的包时完全不同的位置 从本地 sdist 安装会将文件放在我的系统上
  • Unity3d 和 System.Xml.Linq

    因此 即使 Unity Editor Data Mono lib mono 2 0 System Xml Linq dll 文件存在 也会执行以下操作 using System Xml Linq 生成以下错误 命名空间 System Xml
  • 异步方法无法返回具有可访问的 GetAwaiter 方法的任何类型

    It says here https learn microsoft com en us dotnet csharp programming guide concepts async async return types 异步方法可以具有以
  • Python 列表到 pandas 数据框

    我有一个遵循以下格式的列表 a date name 10150425010245 name1 10150425020245 name2 我正在尝试将其转换为 Pandas df newlist for item in a newlist a
  • 减少单元格中/chr(10) 的换行数

    我有一张 Excel 工作表 其中的单元格具有不同数量的换行符 我想减少它 以便每个新行之间只有一个换行符 例如 HELLO WORLD GOODBYE 将修改为 HELLO WORLD GOODBYE 我已经为此绞尽脑汁好几个小时了 并想
  • 日期格式化 C#

    我在将此日期格式转换为另一种格式时遇到问题 我希望这里有人能够帮助我 这是我的代码 string fromFormat ddd dd MM yyyy HH mm ss zzz string toFormat yyyy MM dd DateT
  • 删除 DataFrame 列中仅出现一次的值

    我有一个列中具有不同值的数据框x 我想删除列中仅出现一次的值 So this x 1 10 2 30 3 30 4 40 5 40 6 50 应该变成这样 x 2 30 3 30 4 40 5 40 我想知道是否有办法做到这一点 您可以通过
  • Visual Studio 链接文件目录结构

    我有一个项目的两个版本 一种用于 Silverlight 另一种用于 NET SL 项目拥有绝大多数代码库 我想将 SL 项目中的所有文件作为链接文件全局添加到 NET 版本中 我已经在 NET 版本的 csproj 文件中成功地做到了这一
  • 变量运算符可以吗?

    有没有办法执行类似于以下任一操作 var1 10 var2 20 var operator lt console log var1 operator var2 returns true OR var1 10 var2 20 var oper
  • 如何将外部图像添加到 Github 帖子

    我想将托管在外部源上的图像添加到 Github 但当我确认将其发布时 我只看到链接 Image https ibb co kOnOrb 我使用这种格式 但它不起作用 我单击创建的链接并看到消息Non Image content type r
  • 在 lambda 函数中使用 auto self(shared_from_this()) 变量的原因是什么?

    我阅读了 boost asio http 服务器示例代码 请参阅http www boost org doc libs 1 54 0 doc html boost asio example cpp11 http server connect
  • JavaScript 多个间隔和clearInterval

    我有一个小程序 当你点击一个 条目 时 编辑模式被打开 并且该条目是为其他人锁定的编辑 每10秒发送一个ajax请求来更新表中的时间戳 entry edit click function code loopLockingVar setInt
  • ASP.NET MVC 4:更改 Javascript 中隐藏字段的值

    我有一个隐藏布尔值 field Html HiddenFor x gt x IsTurkey 在 jQuery 脚本中我尝试更改它 Html IdFor x gt x IsTurkey val False 但回发后 IsTurkey 没有改
  • 如何在GDB中运行记录指令历史记录和函数调用历史记录?

    编辑 根据下面的第一个答案 当前的 技巧 似乎正在使用 Atom 处理器 但我希望一些 gdb 专家可以回答这是否是一个基本限制 或者路线图上是否添加了对其他处理器的支持 反向执行似乎在我的环境中起作用 我可以反向继续 查看合理的记录日志
  • 将变量临时存储在一系列管道 dplyr 中

    有没有办法暂停一系列管道来存储稍后可以在管道序列中使用的临时变量 我找到了这个question https stackoverflow com questions 40369832 assign intermediate output to
  • Hibernate 的“未保存值映射不正确”是什么意思?

    有一个著名的例外 org hibernate StaleObjectStateException 行已更新或删除 另一笔交易 或未保存值映射不正确 my Entity 123456 当 行被另一个事务更新或删除 时 这是一种非常熟悉的情况
  • Tomcat下无法运行PHP脚本

    我正在使用 Tomcat 6 我已经安装了 PHP 并尝试使用 PHP JavaBridge 在 Tomcat 中运行 PHP 我已在 Tomcat 的 webapps 目录中部署了 JavaBridge war 当运行任何 PHP 脚本时