小编MW.*_*MW.的帖子

在PHP SoapClient中禁用证书验证

简介:
有没有办法强制PHP内置的SoapClient类通过HTTPS连接到具有无效证书的服务器?

我为什么要那样做?
我在没有DNS条目或证书的服务器上部署了一个新的应用程序.我想设置DNS条目和修复证书之前尝试使用SoapClient连接它,最合理的方法是让客户端在测试期间忽略证书.

我不是意识到这是一个巨大的安全隐患吗?
这仅用于测试.当服务投入生产时,将会有一个有效的证书,客户端将被强制验证它.

php ssl https soap soap-client

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

HTML元素可以两次具有相同的属性吗?

我正在考虑编写生成可能具有重复属性的HTML标记的代码,如下所示:

<div data-foo="bar" class="some-class" data-foo="baz">
Run Code Online (Sandbox Code Playgroud)

这是合法的HTML吗?其中一个值data-foo优先于另一个吗?我可以依靠半现代浏览器(IE> = 9)来解析它而不会窒息吗?

还是我要在这里做一些非常愚蠢的事情?

html html5

29
推荐指数
2
解决办法
9450
查看次数

使用WebParam不允许使用XmlElement注释

我在webservice中有一个方法,具有以下签名:

@WebResult(name="purchaseId") public int CreatePurchase(
            @XmlElement(required=true)
            @WebParam(name = "item") String item {
  ...
}
Run Code Online (Sandbox Code Playgroud)

在我看来(根据我发现的信息),这应该工作.不幸的是,我在编译时收到以下错误消息:

The annotation @XmlElement is disallowed for this location
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

java xml web-services jax-ws

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

Angular的$ compile中的内存泄漏?

摘要

每次$ compile运行时,为什么以下plunkr会导致内存泄漏?

http://plnkr.co/edit/HhB4croPKuN5TP2NPqq6

代码说明

我正在编写一个有时需要完全重新呈现其HTML的指令.它通过将其模板生成为字符串,然后将该字符串提供给$ compile,最后使用jQuery删除旧DOM并将其替换为新呈现的元素来实现.

每次执行此操作时,应用程序都会泄漏几兆字节的内存,通常会导致浏览器崩溃.Chrome堆快照显示每次都会添加一个分离的DOM元素树,但Plunkr由于某种原因没有这个问题(虽然它仍然泄漏了很多).

我做错了什么导致内存泄漏?

"什么?生成一个字符串模板并重新编译它?为什么?"

我知道,这显然不是Angular指令的编写方式.我的第一种方法是ng-repeats与其他双向绑定的组合.不幸的是,这会导致性能问题,因为范围上的$ watch-statements数量会增加.关于为什么我选择这种方法的一些推理,我在这里给出一个小咆哮:数据绑定如何在AngularJS中工作?

编辑

我一直在努力,它不再泄漏记忆.我将保留这个问题,以防其他人发现它作为重新编译DOM的非泄漏方法很有用.

javascript jquery memory-leaks memory-management angularjs

16
推荐指数
1
解决办法
2197
查看次数

边界宽度的CSS calc()?

我可以使用带边框宽度的calc()吗?

我想以下CSS工作:

.my-element {
  border-left-width: calc(10% + 10px);
  border-right-width: calc(10% + 20px);
}
Run Code Online (Sandbox Code Playgroud)

但无论出于何种原因,我提供的任何价值calc()都没有任何边界.我在MDN上找到的文档并不清楚是否可以使用calc - 它说我应该使用Any <length> value,但这包括calc吗?

我的目标是IE9,但我在Chrome 34和Firefox 28中得到了相同的结果.我知道我也可以使用jQuery来实现这些目标,但我想尽可能避免使用它.

html css css3 css-calc

10
推荐指数
1
解决办法
4892
查看次数

在旋转时调整UINavigationBar的大小

我有一个UIViewController的子类来处理UIView.viewcontroller以模态方式呈现(它从屏幕底部向上滑动).在视图的顶部,我添加了一个导航栏.请注意,此栏不由导航控制器处理.

我希望当视图旋转到横向时,导航栏的高度会缩小(类似于UINavigationController处理时的行为).但是,我无法在IB中将其自动调整遮罩设置为灵活高度,并且在代码中这样做会导致导航栏完全消失.

有没有办法做到这一点?它是如何通过UINavigationController完成的?

PS我宁愿不必采用缩放变换,因为这会弄乱标题中的文本.

编辑:我在一点帮助下解决了它,阅读下面发布的答案.

iphone landscape rotation uinavigationbar autoresize

7
推荐指数
2
解决办法
8905
查看次数

将IPv6地址与CIDR子网匹配

有没有一种方法可以使用CIDR表示法将IPv6地址与IPv6子网匹配?我正在寻找的是与此等价的IPv6: 在PHP 5中将IP匹配到CIDR掩码?

由于IPv6地址长度为128位,因此无法使用上面给出的示例,从而防止按位左移正常工作.你能想到其他任何方式吗?

编辑:在答案列表中添加了我自己的解决方案.

php ip ipv6 cidr

7
推荐指数
3
解决办法
9810
查看次数

Azure Devops Pipeline YAML 中的 Git 标记名称

概括

如何在 Azure Devops Pipeline YAML 文件中获取当前 git 标签的名称?

我想做什么?

我正在 Azure Devops 中设置构建管道。创建新的 git 标签时会触发管道。然后我想构建 docker 镜像并用 git 标签的名称标记它们。

我的 YAML 管道如下所示:

# Trigger on new tags.
trigger:
  tags:
    include:
    - '*'

stages:
- stage: Build
  jobs:
  - job: Build
    pool:
      vmImage: 'ubuntu-latest'

    steps:
    - script: export VERSION_TAG={{ SOMEHOW GET THE VERSION TAG HERE?? }}
      displayName: Set the git tag name as environment variable

    - script: docker-compose -f k8s/docker-compose.yml build
      displayName: 'Build docker containers'

    - script: docker-compose -f k8s/docker-compose.yml …
Run Code Online (Sandbox Code Playgroud)

git yaml git-tag azure-devops azure-pipelines

7
推荐指数
1
解决办法
5531
查看次数

内部div,IE9溢出跨度的宽度

我需要找出a的内容span是否溢出其父级div.它适用于Chrome和FF,但不适用于IE9.我有以下HTML结构:

<div class="wrapper">
  <span>Dynamic text content, which may or may not overflow the parent</span>
</div>
Run Code Online (Sandbox Code Playgroud)

使用以下CSS:

.wrapper {
  display: inline-block;
  width: 80px;
  height: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)

在"真实"浏览器(即非IE)中,很容易检查跨度是否比div更宽:

var innerSpan = $('.wrapper span');
var wrapperDiv = innerSpan.parent();
if (innerSpan.width() > wrapperDiv.width()) {
    // Overflow has happened
}
Run Code Online (Sandbox Code Playgroud)

但是在IE9中,调用innerSpan.width()仅返回可见大小,当然这总是小于包装器的大小.如何在IE9中检测文本是否溢出?

注意:它只需要适用于IE9,而不是IE8,IE7或任何其他版本.

编辑
我找到了一个解决方案,它可以检测溢出但需要跨度display: block;.请参阅下面的答案.

html javascript css jquery internet-explorer

5
推荐指数
1
解决办法
1760
查看次数

Linux:文件既存在又不存在

我正在编写一个PHP应用程序,我刚刚遇到了一个非常奇怪的错误.在最近迁移到新的(Ubuntu)服务器之后,我开始在require_once语句上遇到致命错误.显然文件不存在,或文件权限错误,对吧?

不,事实证明:

该文件确实存在
该文件从SVN存储库中签出.当我进入文件夹并列出文件(lsls -l)时,文件显然在那里并具有正确的文件大小.当我更新存储库中的文件并更新工作副本时,更改将复制到工作副本.该文件具有权限755,因此每个人都应该能够看到并阅读它.同一目录中的其他文件正常工作.

该文件也不存在:
PHP退出时发生致命错误,因为找不到该文件.如果我使用find -command,则找不到该文件.如果我尝试使用nano编辑文件,它声称它不存在.如果我开始键入文件名并按Tab键自动完成,则无法找到该文件.

此行为现​​在发生在两个单独的服务器上,但它在第三个服务器上正常工作.所有服务器都运行Ubuntu 10.04.

有谁知道发生了什么事?

编辑:
文件名是AdminIpv4RangeAddFormHandler.inc.

完整错误消息,文件路径模糊:

Warning: require_once(fullpath/AdminIpv4RangeAddFormHandler.inc): failed to open
stream: No such file or directory in fullpath/anotherfile.inc on line 34 Fatal error: 
require_once(): Failed opening required 'fullpath/AdminIpv4RangeAddFormHandler.inc' 
(include_path='.:/usr/share/php:/usr/share/pear') in fullpath/anotherfile.inc on line 
34 
Run Code Online (Sandbox Code Playgroud)

以下命令不产生输出:

find -name AdminIpv4RangeAddFormHandler.inc -ls
Run Code Online (Sandbox Code Playgroud)

常规的ls -li输出(以及其他)此行:

2233407 -rwxr-xr-x 1 root root 1597 2011-12-13 08:02 AdminIPv4RangeAddFormHandler.inc
Run Code Online (Sandbox Code Playgroud)

php linux bash

0
推荐指数
2
解决办法
264
查看次数