小编Pek*_*ica的帖子

PHPUnit测试的"Web界面"?

是否有一个简单的"Web界面"来运行PHPUnit测试套件?即在命令行上运行测试的PHP脚本,并输出格式良好的HTML结果.

我开发Web应用程序,日常工作流程通常在IDE和浏览器之间切换.我想在同一环境中进行单元测试.

我正在寻找一些非常简单且基于PHP的东西 - 我打算进入phpUnderControl(它具有我正在寻找的功能)但还没有.

php tdd phpunit unit-testing

47
推荐指数
5
解决办法
2万
查看次数

在PHP/Apache/Linux上下文中,为什么chmod 777确实存在危险?

受到这个问题讨论的启发,可能是一个愚蠢的问题.

我们都被教导过,将基于Linux的Web主机上的目录或文件保留为权限级别777是一件坏事,并且根据需要设置总是很少的权限.

我现在好奇的地方正是在于剥削的危险,特别是在一个PHP/Apache的环境.

毕竟,一个PHP脚本文件可以从外部执行(即通过调用Web服务器,然后再到解释器),无论它是否被标记为"可执行",不是吗?这同样适用于通过命令行php解释器调用的文件,对吧?

那么漏洞到底在哪里777?事实是同一台机器上的其他用户可以访问世界上可写的文件吗?

php linux apache security chmod

45
推荐指数
2
解决办法
2万
查看次数

使用二进制排序规则有什么影响?

在回答这个问题时,我对某些我无法找到足够答案的事情感到不确定.

使用二进制文件utf8_bin和不区分大小写的utf8_general_ci排序规则之间有什么实际区别?

我可以看到三个:

  1. 两者都有不同的排序顺序; _bin排序顺序可能会将任何变音符号放在字母表的末尾,因为字节值会被比较(对吗?)

  2. 只有区分大小写的搜索 _bin

  3. 没有A = Ä平等_bin

是否还有其他差异或副作用需要注意?

参考:

类似的问题没有解决这个问题:

mysql collation

45
推荐指数
2
解决办法
2万
查看次数

array_splice()用于关联数组

假设我有一个关联数组:

array(
  "color" => "red",
  "taste" => "sweet",
  "season" => "summer"
);
Run Code Online (Sandbox Code Playgroud)

我想在其中引入一个新元素:

"texture" => "bumpy" 
Run Code Online (Sandbox Code Playgroud)

在第二项后面,但保留所有数组键:

array(
  "color" => "red",
  "taste" => "sweet",
  "texture" => "bumpy", 
  "season" => "summer"
);
Run Code Online (Sandbox Code Playgroud)

有功能吗?array_splice()不会削减它,它只能使用数字键.

php arrays

44
推荐指数
3
解决办法
4万
查看次数

您的网络应用程序或网站是否有健康检查?

我过去为几个项目构建了基于PHP的"运行状况检查"脚本,但它们总是为场合定制,而不是作为独立产品进行抽象编写.我想知道这种解决方案是否存在.

我通过"健康检查"获得的是一个受保护的网页,其功能与单元测试套件非常相似,但在更具操作性的级别上,显示红色/黄色/绿色状态等

  • 缓存目录是否可写?
  • PHP版本是否正确,是否安装了必需的扩展?
  • 数据库服务器是否可访问?
  • 数据库中是否存在必要的表?
  • 有足够的磁盘空间可用吗?
  • 网站的首页是否可以访问并完全呈现(=没有PHP错误)?
  • 项目库的MD5校验和是否与原始校验和匹配?
  • 首页的输出是否通过了W3C验证器?

您是否在您的应用程序和网站中执行此操作或部分操作?

是否有任何标准化工具可以带来执行测试的所有功能(理想情况下是插件),只需要相应配置?

我说的是一个轻量级的解决方案,甚至可以在最小的基于PHP的Web包上运行,没有扩展和服务器访问.

也许有一种方法可以使用一个可用于PHP的单元测试框架(最好是PHPUnit)来设置它?如果是这样,您是否知道任何资源/教程概述如何?

更新:似乎没有一个流行的现成解决方案,否则,有超过100个视图,我相信会有一些提及它.由于最初对构建开源项目这样的工具感兴趣,请随时发布一个理想的解决方案,以及它必须具备的功能.

php maintenance

38
推荐指数
0
解决办法
3611
查看次数

Powershell脚本卡住,从批处理文件调用时不会退出

我有一个连接到网站的PowerShell脚本,并解析其返回的数据(它是关于将以前上传的SQL文件导入到网站的数据库中).PowerShell脚本使用wget,稍后我可以用本机函数替换它.

导入过程嵌入在由称为scriptFTP的第三方程序执行的脚本中.

当我从一个.bat文件中调用它时,脚本运行正常:

powershell  "& "C:\data\etc\run_import_script.ps1"
exit %ERRORLEVEL%
Run Code Online (Sandbox Code Playgroud)

但是,当我从更大的ScriptFTP上下文中调用此.bat文件时,会发生以下情况:

  • PowerShell脚本已执行.我确认这是每次调用远程导入脚本时给自己发送一封电子邮件.
  • PowerShell似乎没有退出,脚本执行卡住了.我仍然可以使用Ctrl + C取消整个事情,但以下命令永远不会被执行.

当我将批处理文件更改为以下内容时:

start powershell  "& "C:\data\etc\run_import_script.ps1"
exit %ERRORLEVEL%
Run Code Online (Sandbox Code Playgroud)

工作,在新的控制台中运行PowerShell脚本,但我无法获取PowerShell返回的错误级别.

我试图直接从ScriptFTP调用PowerShell,绕过批处理文件,但结果相同:它只是卡住了.

我有PowerShell脚本的任何输出都使用Write-OutputWrite-Host不显示.

所有程序都在同一个用户下运行,我.

有人有什么想法怎么办?

windows powershell

36
推荐指数
4
解决办法
7万
查看次数

十六进制颜色:"透明"的数字表示?

我正在构建一个Web CMS,用户可以在其中为某些网站元素选择颜色.我想将所有颜色值转换为十六进制,以避免任何进一步格式化麻烦("rgb(x,y,z)"或命名颜色).我找到了一个很好的JS库.

我唯一不能进入十六进制的是"透明".我明确地将一个元素声明为透明时需要这个,根据我的经验,这可能与根本没有定义任何值有所不同.

有谁知道这是否可以变成某种数字形式?我是否必须设置所有处理实例以接受十六进制值 "透明"?我想不出任何其他方式.

css rgb transparency colors

35
推荐指数
4
解决办法
28万
查看次数

如何防止json_encode()丢弃带有无效字符的字符串

有没有办法阻止json_encode()返回null包含无效(非UTF-8)字符的字符串?

在复杂的系统中调试可能会很麻烦.实际看到无效字符会更合适,或者至少省略它.就目前而言,json_encode()将默默地删除整个字符串.

示例(以UTF-8格式):

$string = 
  array(utf8_decode("Düsseldorf"), // Deliberately produce broken string
        "Washington",
        "Nairobi"); 

print_r(json_encode($string));
Run Code Online (Sandbox Code Playgroud)

结果是

[null,"Washington","Nairobi"]
Run Code Online (Sandbox Code Playgroud)

期望的结果:

["D?sseldorf","Washington","Nairobi"]
Run Code Online (Sandbox Code Playgroud)

注意:我打算在json_encode()中使断字符串工作.我正在寻找方法,以便更容易诊断编码错误.一个null字符串是不是该有所帮助.

php json utf-8

35
推荐指数
3
解决办法
3万
查看次数

为什么人们使用普通英语作为翻译占位符?

这可能是一个愚蠢的问题,但这里有.

我见过几个项目使用一些翻译库(例如gettext)和普通英语占位符一起工作.例如:

_("Please enter your name");
Run Code Online (Sandbox Code Playgroud)

而不是抽象的占位符(这一直是我本能的偏好)

_("error_please_enter_name");
Run Code Online (Sandbox Code Playgroud)

我已经看到有关SO的各种建议与前一种方法一起工作,但我不明白为什么.我不知道如果你需要改变英语措辞,你怎么做?因为如果将实际文本用作所有现有翻译的密钥,则还必须编辑所有翻译,并更改每个密钥.或者不是吗?

这不是很麻烦吗?为什么这是行业标准?

以这种方式做这绝对不是正确的规范化.我没有看到这种方法有很大的优势吗?

gettext internationalization

34
推荐指数
4
解决办法
1702
查看次数

获取JS中DOM元素的计算字体大小

是否可以检测font-sizeDOM元素的计算,考虑在其他地方(body例如在标签中),继承的值等进行的通用设置?

一个独立于框架的方法会很好,因为我正在编写一个独立运行的脚本,但这当然不是必需的.

背景:我正在尝试调整CKEditor的字体选择器插件(源于此处),以便它始终显示当前光标位置的字体大小(与仅在span具有显式font-size集合的情况下相反,这是当前行为).

javascript css jquery font-size ckeditor

33
推荐指数
1
解决办法
2万
查看次数