为什么 JavaScript 文件在我的 Cake 插件中被解析为 PHP?

2024-04-22

我正在开发的 Cake 插件中包含的 JavaScript 之一出现问题。由于某种原因,JavaScript 文件被解析为 PHP 文件,因此加载该文件会抛出此错误,这是 PHP 解析错误:

<b>Parse error</b>:  syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

使用 HtmlHelper 调用该脚本:

<?php echo $this->Html->script(array(
  '/myplugin/scripts/tiny_mce/tiny_mce',
)); ?>

该错误是由压缩触发的tiny_mce.js文件驻留在脚本目录的子目录中,未压缩的版本显示相同的行为。问题是我的本地设置没有遇到问题。

远程服务器正在运行 PHP 5.2.17mod_rewrite启用后,我的 Cake 版本是 1.3.10 - 我的测试设置运行 PHP 5.3.4 和相同版本的 Cake。 这可能是重写或权限错误,但我的应用程序运行良好,否则其他脚本(包括子目录和远程脚本中的脚本)加载没有问题。

EDIT:将tiny_mce 目录移出Cake 安装并链接到该目录后,JavaScript 将被正确解析。我猜这是与 mod_rewrite 和插件处理相关的错误,但我还没有发现与此行为相关的其他案例。


我也遇到过这个问题,使用完全相同的文件:Tiny MCE JavaScript。

这是由于 CakePHP 调度程序处理插件 webroot 中的文件的方式造成的。它选择对具有 CSS 或 JS 扩展名的文件执行 PHP 包含,而tiny_mce.js 文件恰好包含以下字符<?,这意味着它不只是输出 JavaScript 文本,而是尝试将后续行解析为 PHP 代码。没想到竟然失败了!

这已经是作为错误提出 http://cakephp.lighthouseapp.com/projects/42648/tickets/1853Lighthouse(CakePHP 的错误跟踪系统)。建议的修复方法是:

  1. 创建从插件 webroot 到应用程序 webroot 的符号链接(例如app/webroot/tinymce => app/Plugin/TinyMCE/webroot)
  2. 关闭 PHP INI 中的 PHP 短标签 - 无论如何,这是一个很好的原则

简而言之,CakePHP 可能无法解决此问题,因为他们希望保持对能够在 JS/CSS 文件中包含 PHP 代码的支持。

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

为什么 JavaScript 文件在我的 Cake 插件中被解析为 PHP? 的相关文章

  • 可以在初始 DOM 解析期间/之前修改 DOM 吗?

    是否可以在初始 DOM 解析期间或之前修改 DOM 或者我是否必须等到 DOM 被解析和构建之后才能与其交互 更具体地说 是否有可能阻止 DOM 中的脚本元素使用用户脚本 内容脚本或 Chrome 或 Firefox 中的类似脚本运行 在解
  • 使用 dc.js 按条形值对条形图中的条形进行排序(排序)

    如何通过维度的计算值而不是维度本身的名称对 dc js 示例中的 x 轴 维度 进行排序 例如 请考虑序数条形图的 dc js 示例 https github com dc js dc js blob master web examples
  • Snap.svg - 停止在可悬停元素的子元素上重新触发悬停事件

    对于一个项目 我使用的 SVG 形状由背景多边形和背景多边形上方的一些文本 我已将其转换为路径 组成 我正在使用 Snap svg 为我的形状设置动画 当我将鼠标悬停在多边形上时 形状应该缩放到特定尺寸 包括其中的所有内容 鼠标移开时 形状
  • 设置 cookie 时中断 JavaScript 执行

    当设置 cookie 时 是否可以始终中断浏览器开发人员工具中的 javascript 执行 无需显式设置 JS 断点 document cookie 在 html head 块的开头添加此代码片段效果很好
  • 如何处理 REST api 中的 php 通知、警告和错误?

    在 REST API 中 200 响应表明操作成功 PHP 默认情况下直接在响应正文中输出错误消息 而不更改响应代码 在 SPA 中 用户无法直接看到响应文本 因此 当应用程序未按预期工作时 我通过 FireBug 检查响应正文 以检查可能
  • 调整图像大小并将画布旋转 90 度

    这里有很多关于在 js 上使用画布旋转图像的主题 我阅读了其中的大部分内容 但无法找到解决我的问题的方法 我正在接收任何分辨率的图像 来自上传组件 我将其大小调整为 1024x768 如下所示 var canvas document cre
  • Chrome 扩展程序在代码中使用 client_secret

    我正在开发具有自己的 oAuth 授权的 Google Chrome 扩展 当然 我必须使用 client id 和 client secret 作为请求令牌 有什么办法可以向用户隐藏这些数据吗 由于此请求只是 javascript 源代码
  • 为什么我们在打字稿中使用 HTMLInputElement ?

    我们为什么使用 document getElementById ipv as HTMLInputElement value 代替 document getElementById ipv value 功能getElementById返回具有类
  • DataTables row.add 到特定索引

    我正在替换这样的行项目 var targetRow entity row dataTable targetRow closest table dataTable DataTable dataTable row targetRow remov
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • session_start():无法解码会话对象

    我有时在使用 CodeIgniter 时遇到以下问题 错误 2019 03 05 19 57 26 gt 严重性 警告 gt session start 无法解码会话对象 会话已被销毁 system libraries Session Se
  • Firebase 函数 onWrite 未被调用

    我正在尝试使用 Firebase 函数实现一个触发器 该触发器会复制数据库中的一些数据 我想观看所有添加的内容votes user vote 结构为 我尝试的代码是 const functions require firebase func
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert
  • 在 Shopify 商店中嵌入 Vue 组件

    在产品页面中 我尝试显示自定义 Vue 组件 为简洁起见 该组件根据给定的产品 ID 显示 Firebase 数据库中的一些信息 我最初尝试将其制作为 Shopify 应用程序 以便我可以访问他们的 API 我实现了 OAuth 并且可以检
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • PHPUnit - 模拟 S3Client 无法正常工作

    库 aws aws sdk php 2 PHP 版本 PHP 5 4 24 cli 作曲家 json require php gt 5 3 1 aws aws sdk php 2 require dev phpunit phpunit 4
  • 从 FileReader 设置背景图像样式

    我正在寻找一种解决方案 允许我从文件上传输入中获取文件并通过设置 document body style backgroundImage 来预览它 以下代码用于在 Image 元素中显示预览 function setImage id tar
  • JavaScript 相对路径

    在第一个 html 文件中 我使用了一个变量类别链接 var categoryLinks Career prospects http localhost Landa DirectManagers 511 HelenaChechik Dim0
  • 如何从日期中查找该月的最后一天?

    如何在 PHP 中获取该月的最后一天 Given a date 2009 11 23 我要2009 11 30 并给出 a date 2009 12 23 我要2009年12月31日 t返回给定日期所在月份的天数 请参阅的文档date ht

随机推荐

  • Jest 不会转换模块 - SyntaxError: 无法在模块外部使用 import 语句

    我无法摆脱这个SyntaxError Cannot use import statement outside a module无论我尝试什么 都会出错 而且非常令人沮丧 这里有人解决了这个问题吗 我已经阅读了一百万个 stackoverfl
  • Paypal SandBox IPN 历史

    我使用贝宝付款 为了验证我使用 我可以在 Paypal 沙盒中查看我的 INP 历史记录吗 At the 文档 https cms paypal com cms content US en US images developer IPNHi
  • 如何在编辑器中将动画曲线更改为线性?

    我向轮子添加了旋转动画 但轮子旋转不顺畅 我发现原因是因为旋转动画的曲线不是线性的 然而 在尝试了编辑器中的几乎所有按钮和选项后 我找不到使动画曲线成为线性的方法 有谁知道如何在统一编辑器中获取带有线性曲线的动画 我自己找到了解决方案 而且
  • MySQL:从另一台服务器选择

    恐怕我已经知道问题的答案 但我还是会问 当有两台 MySQL 数据库服务器时 我可以访问另一台服务器上存储的数据吗 换句话说 我能以某种方式这样做吗 INSERT INTO table x y z SELECT x y x y FROM o
  • Angular - mat-grid-list 不显示 传递的子项

    我正在使用角度材料设计组件 并想要创建一个自定义网格列表组件 该组件将根据其大小调整网格列表列的数量 组件模板如下所示
  • 让请求在curl中工作,但在Python中不起作用

    我正在尝试使用curl 制作一个 put 方法 一切正常 并且我得到了JSON curl X PUT d foo more foo http ip 6001 whatever api key whatever 但是在使用python时由于某
  • C 联合类型双关数组

    鉴于以下代码 我有一些与类型双关相关的问题 我看不出这没有违反严格的别名规则 但我无法指出具体的违规行为 我最好的猜测是 将联合成员传递到函数中违反了严格的别名 以下代码已开启编译器资源管理器 https godbolt org z bnY
  • 如何删除 ASP.Net MVC 中的 Home?

    我知道这个网站是使用 ASP Net MVC 编写的 但我在 url 中没有看到 Home 这向我证明这是可以做到的 我需要什么特殊路线 只需将 Home 更改为空字符串即可 routes MapRoute Home new action
  • Android 中可能存在哪些安全问题[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 为了了解 Android 设备上应如何保护强大的数据 我想了解哪些攻击是可能的 我开始写下我的知识 希望我能得到纠正 哪里错了或者哪里
  • “Uint8Array”类型的参数不可分配给“number[]”类型的参数

    基于crypto subtle exportKey spki cryptoKey https developer mozilla org en US docs Web API SubtleCrypto exportKey我想转换返回的Arr
  • 什么环境变量控制dyld?

    有许多环境变量控制 dyld 启动 其中一些对于调试性能问题非常有用 并非所有这些都被记录下来 这些在 dyld 手册页中有解释 至少在 macOS 10 13 上 DYLD FRAMEWORK PATH DYLD FALLBACK FRA
  • 如何从外部向azure Devops构建管道传递参数来控制任务执行?

    我的查询是 如何将参数传递给外部的azure Dev ops构建管道来控制任务执行 详细解释如下 我在 azure Dev ops 中有一个项目 它有一个构建管道 配置了一系列任务 涉及构建解决方案 生成可部署包等 通常 这会执行得很好 没
  • 在 Clang AST 中查找声明的父级

    我正在使用 clang 进行一些分析 我需要在 AST 中找到声明的父级 例如 在下面的代码中我有int x我想获取它的父级 它应该是函数声明 int main int x return 0 我知道正如这个链接中提到的http commen
  • AWS推送通知服务集成错误

    我正在尝试将亚马逊推送通知集成到我的 iPhone 应用程序中 我确实正确地遵循了此处提供的教程 我在创建平台端点时收到此错误 似乎是身份池的权限问题 CognitoIdentityCredentials is not authorized
  • 组合学:构建 10 组,每组 100 个元素,同时元素保持排序

    我有一个关于组合学的问题 不幸的是 我无法抽象地描述它 所以我尝试用一 个故事来解释它 Problem 校园里有 100 个孩子 它们都有独特的高度 假设值为 100 199 厘米 您想要建立 10 个小组 每个小组由 1 99 名儿童组成
  • boost::filesystem::unique_path() 如何解决 C++ 中 mkstemp 类似物的需求?

    An old 功能要求 https svn boost org trac boost ticket 590对于 Boost 来说 请求的功能类似于mkstemp http pubs opengroup org onlinepubs 0096
  • SyntaxError:属性列表后缺少 } [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions Firef
  • 在 Flex 中的 Spark TextInput 内添加搜索图标

    我想在 Spark TextInput 控件内添加搜索图标 有没有一种方法可以扩展 TextInput 控件并向其添加一个子控件 Thanks 你不应该延长TextInput本身 Spark 架构的主要功能是剥皮的可能性 您可以根据标准创建
  • Java 8流-如何从子实体中查找父实体?

    我有一个类似的场景 public class A private String id ManyToMany private Set b bSet getters and setters and public class B private
  • 为什么 JavaScript 文件在我的 Cake 插件中被解析为 PHP?

    我正在开发的 Cake 插件中包含的 JavaScript 之一出现问题 由于某种原因 JavaScript 文件被解析为 PHP 文件 因此加载该文件会抛出此错误 这是 PHP 解析错误 b Parse error b syntax er