系统('php -l')的替代品?

2024-03-29

在我目前正在从事的一个项目中,我们正在考虑放置system() http://php.net/system进入 php.ini 的disable_functions http://php.net/disable_functions宣言。现在,我们的一个元模块最终也会成为这一限制的受害者,它是对文件进行语法检查system("php -l");电话——促使我寻找替代方案。

原来曾经有一个php_check_syntax() http://php.net/php_check_syntax,但它不仅不限于仅检查语法,并且如果语法有效则继续包含该文件,而且从 PHP 5.0.5 开始它已被删除。手册建议php -l但鉴于我确信在 PHP 中禁用系统调用函数是一种相当常见的做法,我想知道是否有一种可接受的、“更好”的方法从 PHP 文件中检查 PHP 文件的语法。

(顺便说一句,我并不是一意孤行;一个“不”就足够了(我真的希望如此)。我们can使模块免受此限制 - 但我问这个问题既是出于好奇,也是希望有一个更优雅的解决方案。)


我找到了使用 PECL 的替代方案runkit_lint_file() http://de.php.net/manual/en/function.runkit-lint-file.php.

它执行与 php_check_syntax() 相同的检查。

我认为值得一看。

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

系统('php -l')的替代品? 的相关文章

  • 严格标准:资源 ID#73 用作偏移量,转换为整数

    我使用这个 PHP 函数获取 MySql 结果 function fetcharray query id if query id query id this gt query res if query id this gt q array
  • preg_replace_callback 要求参数 2 是一个有效的回调...卡住了!

    public function make url clickable cb matches ret url matches 2 if empty url return matches 0 removed trailing from URL
  • Magento Connect Manager 和 ftp 写入文件权限

    将我的网站从开发域转移到实时域后 我尝试使用 magento 连接管理器安装扩展 但是我不断收到 CONNECT ERROR Please check for sufficient ftp write file permissions Yo
  • Laravel:运行队列:在 Windows Azure Web App 上连续监听

    我觉得问这个问题有点傻 但我似乎无法在互联网上找到这个问题的答案 经过几个小时的搜索后 我发现在 Linux 服务器上 您使用 Supervisor 在您的网站上连续运行 php artisanqueue listen 无论有或没有守护进程
  • 命令运行时从 shell_exec 命令获取输出

    我正在编写一个 PHP 脚本网页 该网页旨在接受先前上传到服务器的 JFFS2 图像的文件名 然后 该脚本将使用映像重新刷新服务器上的分区 并输出结果 我一直在用这个 tmp shell exec update flash v filena
  • 上传非常大的文件(>5GB)

    我需要你的帮助 我想用 HTML JQuery 和 PHP 创建一个上传脚本 是否可以编写一个可以上传非常大的文件 gt 5 GB 的脚本 我已经尝试使用 FileReader FormData 和 Blobs 但即使使用这些 我也无法上传
  • 如果所有情况都是真正的 PHP,如何处理这些情况

    我想知道是否有办法继续完成所有三种情况 如果它们都是真的 但是使用break 因为作为一个例子 如果第一种情况是真的 第二种情况是假的 第三种情况也是假的 而且我没有使用break 无论如何它都会进行 将strtotime更改为2014年1
  • MySQL 连接不工作:2002 没有这样的文件或目录

    我正在尝试设置 WordPress 我已经运行了 Apache 和 MySQL 并且帐户和数据库都已设置 我尝试建立一个简单的连接 我总是得到这个 错误 2002 没有这样的文件或 目录 它正在谈论什么文件或目录 我使用的是 OS X Sn
  • 如何在MySQL选择查询中编写正则表达式?

    我尝试过这个表达 b word w b i比较一个word对照其他单词列表来查找重复项 我用了preg math all 效果很好 我想做同样的事情 但这次检查从 mysql 数据库检索到的单词 这是我写的 SELECT FROM tabl
  • 用于添加和删除客户名称的 Web 表单出现问题

    我正在尝试创建一个 Web 表单 其中列出了所有客户 然后为您提供一个文本字段 旁边有一个按钮 您可以在其中添加客户 然后它应该显示客户列表 旁边有删除按钮 您可以单击该按钮从数据库中删除客户 我正在让它发挥作用 对于初学者来说 它会回显
  • PHP中是否可以使用filter_var过滤带小数点的整数?

    我需要像这样过滤值100 50在 PHP 中使用filter var 现在我这样使用 filter var POST amount FILTER SANITIZE NUMBER INT 它给我的结果是10050 我怎么解决这个问题 提前致谢
  • 某些表格后的分页符

    我的问题是 我有一个页面 其中包含几个要打印的 html 表格 有些表有很多行 有些则没有 我想要做的是将第一个和第二个表 大表 打印在单独的页面中 其余表 小表 每页打印两个 如何在我想要的位置放置分页符 我试过 但这会在每个表格后面添加
  • 安全转义表名/列名

    我在 php 中使用 PDO 因此无法使用准备好的语句转义表名或列名 以下是我自己实现它的万无一失的方法 tn str replace REQUEST tn column str replace REQUEST column sql SEL
  • fsockopen() 和 SSL 出错,“无法启用加密”

    我正在尝试连接到 Nominet EPP 测试台 但收到 无法启用加密 的消息 这似乎是一个罕见的错误 没有记录的解决方案或原因 用行 socket fsockopen ssl testbed epp nominet org uk 700
  • 从本地 html/javascript 网站插入 mySQL 数据库

    我正在尝试做什么 我的程序的目的是插入数据local HTML JS网站变成online 非本地 mySQL数据库 到目前为止我尝试过的 我试图用来实现此目的的原始方法是让我的本地网站使用 javascript 通过在线发布数据PHP文件
  • 为什么 http://localhost/ 不使用 WAMP 加载任何内容?

    我最近尝试安装 WAMP 但发现没有页面加载 它还有一个橙色的 W 标志 如果这有什么意义的话 它确实说 托盘图标 WAMP服务器已上线尽管 我也做了一些研究 发现 Skype 可能会引起问题 所以我删除了使用端口 80 和 443 作为传
  • 我可以在 Laravel 5.2 中创建一个继承自 User 的新类吗?

    我对 Laravel 还很陌生 使用的是迄今为止的最新版本 5 2 因此我遇到了以下困境 我知道 Laravel 附带了一个User开箱即用的类 但我想开发一个系统 在其中我可以有另外两种类型的用户 称为Researcher and Adm
  • 向 yahoo 和 hotmail 用户发送电子邮件?

    我正在使用 php 和 mysql 每次用户在我的网站上注册时 我都会使用 php mail 发送一封电子邮件进行身份验证 最近我发现 很多Yahoo和Hotmail用户还没有激活他们的帐户 假设 1000 个用户中 只有 200 个被激活
  • 在 Woocommerce 的单个产品页面上显示特定的自定义产品属性

    我找到了以下代码 https isabelcastillo com woocommerce product attributes functions在产品详细信息页面上显示所有自定义属性 具有我需要的特定条形设计 代码的工作方式就像一个魅力
  • TCPDF - 来自 mysql 的打印表显示重复的第一行

    我是 TCPDF 的新手 我面临的小问题是所有输出数据都显示同一行 我的意思是第一条记录重复数据库中存在的总数据 行 的次数 这是我的代码 tbl header

随机推荐

  • HTML5 WebSocket 与 hybi-17

    Update 我解决了解码问题 感谢pimvdb 解决方案如下 PHP len masks data decoded null len ord buffer 1 127 if len 126 masks substr buffer 4 4
  • 苹果推送通知,定期发出蜂鸣声

    我对 iOS 上的苹果推送通知负载有一个小但棘手的问题 据我所知 推送通知有效负载可以有声音 长度 可行吗 如何 PS 它是一个企业应用程序 不会部署在App Store上 提前致谢 是的 您可以这样实现 注册设备以发送推送通知 每 30
  • 如何将 Python/Pandas 数据插入规范化数据库

    假设我有一个 Pandas 数据框 其中包含以下记录 Time Action User Company User2 00 02 buy share msmith ACME tjones 00 03 sell share tjones Alp
  • 调用网络服务。需要缺失的链接

    有人可以填写下面代码中缺少的链接吗 第一种方式 Web服务接口文件是HappyService xml JaxWSProxyFactoryBean factory new JaxWsProxyFactoryBean factory getIn
  • 如何自动检测代理?

    对于我的一个项目 我制作了一个 QWebView 一切工作正常 但是当我在学校使用它时 我收到错误 因为代理未定义 我怎样才能像在 Firefox 和 IE 中那样自动检测代理 我在中找到了这个QNetworkProxyFactory ht
  • 更改标签栏项目图像和文本颜色 iOS

    这是我的标签栏 下图显示了正在运行的程序和选定的 新闻 项 很明显 条形色调的颜色工作得很好 正如我想要的 但tintColor只影响图像而不影响文本 另外 当选择一个项目时 如上所示 新闻 项目颜色变为蓝色 我该如何防止这种情况发生 我希
  • 不支持的操作:在 Web 上使用 dart io 时的_Namespace

    I am trying to use dart io to read and write file I am getting below exception Uncaught Error Unsupported operation Name
  • 在 PHP 中仅缓存页面的一部分

    是否可以只缓存 PHP 页面的特定部分 或者 PHP 脚本中特定代码段的输出 似乎当我尝试缓存特定页面时 它缓存了我不想要的整个页面 页面中的某些内容应该随着每次页面加载而更新 而其他内容 例如包含来自数据库的数据的下拉列表 只需要每小时左
  • Spring bean别名使用

    我知道bean别名在spring中意味着什么 但我想知道使用别名的用例 为什么有人想要使用别名而不是名称来引用 bean 提前致谢 我见过的用法如下 您有给定接口的两个实例 SomeBean 一个用于环境 A 一个用于环境 B 因此 您定义
  • 悬停时的黑白 CSS 背景

    我有一个 CSS 精灵 如下所示 HTML a href http www domain com estate a CSS estates background position 200px 0px width 96px height 90
  • 尝试使用地址栏或刷新页面访问时,Azure Web应用程序返回404

    我需要一些有关我的天蓝色应用程序的帮助 我有一个website使用 Azure 上托管的 ReactJS 但发生了一些奇怪的事情 我可以使用地址栏访问的唯一页面是 mydomain com 或 www mydomain com 如果我尝试访
  • 使段落文本换行到 div 内

    我读了这篇文章here https stackoverflow com questions 1587964 wrap text inside fixed div with css or javascript 我有一个简单的目标 我只想让我的
  • 从 C++ 中的数字输入动态创建矩阵

    我有一个控制台应用程序 我试图从数字输入创建一个二进制矩阵 如果想要创建一个 2x4 矩阵 我必须做两个输入 每一行一个 输入 控制台 将如下所示 第一个输入 1101 第二个输入 0111 然后我想创建一个如下所示的矩阵 1 1 0 1
  • 有哪些方法可以在数据库中存储有关匿名/来宾用户的信息?

    我们的应用程序具有在线商店等功能 通常会要求用户在完成销售之前注册 从而创建一个独特的customer ID正在进行中 当他们返回时 他们可以登录并从数据库中检索他们的联系方式和交易历史记录 我们现在正在探索在 匿名 或 访客 客户的情况下
  • C# 闭包堆分配发生在方法开始时

    我似乎遇到了 C 编译器的一些奇怪行为 考虑以下代码示例 static void Main string args Foo false 8 public static void Foo bool execute int x if execu
  • laravel 5.3 当页数 = 1 时的分页

    我有城市表 它有 7 个城市 我有一个视图页面来显示这些城市 每页 10 个城市 控制器 cities City orderBy id desc gt paginate 10 return view cities home compact
  • 在浏览器控制台中使用 Angularjs $http

    我在开发过程中在浏览器控制台中测试了 AngularJS 服务 以进行快速验证 我将服务注入控制台的方式如下所述这个问题 https stackoverflow com a 15529185 605840 or var inj angula
  • 使用字典中的特定键构建列表(python)?

    我正在用 Python 实现 Dijkstra 搜索算法 在搜索结束时 我使用前驱图重建最短路径 从目标节点的前驱开始 例如 path path append destination previous predecessor map des
  • 如何在 Selenium 中的 HTML5 Canvas 上执行鼠标滚轮滚动?

    我正在开发 GWT 应用程序 类似于 Paint 在此 我有一个 HTML5 Canvas 其中有一个功能 向上和向下滚动鼠标滚轮将放大和缩小画布 我进行了很多搜索 但没有找到解决此问题的解决方法 这是所做的 int PosX 0 int
  • 系统('php -l')的替代品?

    在我目前正在从事的一个项目中 我们正在考虑放置system http php net system进入 php ini 的disable functions http php net disable functions宣言 现在 我们的一个