小编Gnu*_*fo1的帖子

如何在Guzzle 5中忽略无效的SSL证书错误

这应该是一件容易的事情.我可以在Guzzle 3中找到很多关于如何操作的参考资料,但它们在Guzzle 5中不起作用.

到目前为止我在做什么:

$this->client = new GuzzleClient(['defaults' => [
    'verify' => 'false'
]]);
Run Code Online (Sandbox Code Playgroud)

当我发送请求时,我收到此错误:

RequestException in RequestException.php line 51:
SSL CA bundle not found: false
Run Code Online (Sandbox Code Playgroud)

我在谷歌上找不到任何有用的参考这个错误.如果我可以访问curl选项,那么我可以尝试类似这里建议的解决方案(适用于Guzzle 3,因此它不起作用):http://inchoo.net/dev-talk/symfony2-guzzle -ssl-self-signed-certificate /,其相关部分是:

$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYHOST, false);
$req->getCurlOptions()->set(CURLOPT_SSL_VERIFYPEER, false);
Run Code Online (Sandbox Code Playgroud)

php ssl curl guzzle

43
推荐指数
4
解决办法
6万
查看次数

如何在Laravel 5中为phpunit指定不同的.env文件?

我有一个.env包含我的数据库连接详细信息的文件,正如Laravel 5一样.我想覆盖这些用于测试,我可以做phpunit.xml.然而,这样做似乎违背了.env不提交环境配置,特别是密码的哲学.

有没有可能有类似的东西,.env.testing并告诉phpunit.xml从中读取?

php phpunit laravel laravel-5 phpdotenv

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

Doctrine 2 DQL - 选择多对多字段为空的行?

我在这个例子中有两个类 - DeliveryMethod和Country.他们之间有着多对多的关系.

我想要做的是选择没有任何国家映射到它们的所有DeliveryMethods.

我可以这样做,即选择至少有一个国家的所有交付方式 -

SELECT m FROM DeliveryMethod m JOIN m.countries
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何选择国家/地区字段为空的位置.在纯SQL中我会做以下(deliverymethod_country是链接表):

SELECT m.* FROM deliverymethods m
LEFT JOIN deliverymethod_country dc ON dc.deliverymethod_id = m.id
WHERE dc.deliverymethod_id IS NULL
Run Code Online (Sandbox Code Playgroud)

但是,任何与此等效的DQL都不起作用,例如:

SELECT m FROM DeliveryMethod m LEFT JOIN m.countries WHERE m.countries IS NULL
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误:

[Syntax Error] line 0, col 75: Error: Expected end of string, got 'm'
Run Code Online (Sandbox Code Playgroud)

php doctrine dql

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

Doctrine 2 DQL - 如何选择单向多对多查询的反面?

我有两个类--Page和SiteVersion,它们有很多关系.只有SiteVersion知道这种关系(因为该站点是模块化的,我希望能够带走并放入SiteVersion所属的模块).

因此,我如何根据SiteVersion的标准选择页面?

例如,这不起作用:

SELECT p FROM SiteVersion v JOIN v.pages p WHERE v.id = 5 AND p.slug='index'
Run Code Online (Sandbox Code Playgroud)

我收到错误:

[Doctrine\ORM\Query\QueryException]
[Semantical Error] line 0, col -1 near 'SELECT p FROM': Error: Cannot select entity through identification variables without choosing at least one root entity alias.
Run Code Online (Sandbox Code Playgroud)

即使我可以使用此查询选择"v".

我想我可以通过引入一个关系类(一个PageToVersion类)来解决这个问题,但有没有办法不这样做,或者让它双向化?

php doctrine dql

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

有没有办法在Python中每隔第n个分隔符拆分一个字符串?

例如,如果我有以下字符串:

"这 - 是 - 一个字符串"

我可以每隔2个" - "而不是每个" - "拆分它,以便它返回两个值("this-is"和"a-string")而不是返回四个?

python string split

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

jQuery找到某个类的next/prev元素,但不一定是兄弟姐妹

next,prev,nextAll和prevAll方法非常有用,但如果您尝试查找的元素不在同一个父元素中,则不会.我想做的是这样的:

<div>
    <span id="click">Hello</span>
</div>
<div>
    <p class="find">World></p>
</div>
Run Code Online (Sandbox Code Playgroud)

click按下具有id的span时,我想将下一个元素与类匹配find,在这种情况下,该类不是被点击元素的兄弟,所以next()nextAll()不起作用.

jquery jquery-selectors next

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

PHP - 如何翻转2D数组的行和列

通常我会问如何变成这样的东西:

1      2        3
4      5        6
7      8        9
10    11       12
Run Code Online (Sandbox Code Playgroud)

进入:

1   4   7   10
2   5   8   11
3   6   9   12
Run Code Online (Sandbox Code Playgroud)

但实际上我想把它变成这个:

1   5   9
2   6   10
3   7   11
4   8   12
Run Code Online (Sandbox Code Playgroud)

换句话说,我想翻转行和列,但保持新数组的"宽度"和"高度"相同.我已经坚持了一个多小时.

这是我用来做普通"翻转"的功能(第一个例子):

function flip($arr)
{
    $out = array();

    foreach ($arr as $key => $subarr)
    {
            foreach ($subarr as $subkey => $subvalue)
            {
                 $out[$subkey][$key] = $subvalue;
            }
    }

    return $out;
}
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array

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

PHP生成的csv文件在Excel 2007中显示英镑符号(£)

我正在使用以下头命令生成csv文件:

header("Content-type: text/csv; charset=utf-8; encoding=utf-8");
header('Content-Disposition: attachment; filename="products.csv"');
Run Code Online (Sandbox Code Playgroud)

如果我在Excel 2007中打开文件,那么只要出现一个£符号,我就会获得£.但是,如果我在Notepad ++中打开文件,那么英镑符号看起来很好; 类似地,如果我将内容类型更改为text/plain并删除附件标题,则在浏览器中正确显示井号.

一个奇怪的事情是,如果我转到Notepad ++中的"格式"菜单,看起来该文件编码为"没有BOM的UTF-8".如果我将其更改为"以UTF-8编码",然后保存文件,则在Excel中正确显示井号.有没有办法使PHP文件以这种编码保存?

php csv excel utf-8

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

如何使jQuery Mobile滚动视图无限左右滚动,以便元素重复自己?

基本上与这个问题相同:如何在iPhone上制作无限长的滚动视图?但使用jQuery Mobile而不是客观C.

我正在使用这个插件:http://jquerymobile.com/test/experiments/scrollview/scrollview-direction.html,特别是"Horizo​​ntal Scrollview"下的示例.我希望它循环回自身,所以当用户到达最右边时,它将返回到开始,如果它们从开始向左滚动,它将结束.

如果解决方案特别使用scrollview插件,或者不仅仅是它可以产生类似的效果,我不会感到困扰.

更新:我最终做了一个不同的方式,因为移动元素到最后或列表的开头似乎与iPhone上的jQuery Mobile scrollview闪烁.

我所做的是将ul中的所有li元素复制3次,使其长4倍.然后在脚本开始时,将滚动点定位在第三个副本的开头(因此屏幕的最左侧点恰好是列表长度的一半).

然后,只要滚动位置超出第4个副本的开头,只需将滚动位置移回中间位置(偏移其上方的像素数).然后反过来相同,触发它就超出了第二个副本的开始.原因我需要4份副本,所以当你快速向左滚动时它有一点余地,它超出了第二个副本的开始.

scrollview jquery-mobile

9
推荐指数
1
解决办法
5689
查看次数

如何在Guzzle 5中发送PUT请求的参数?

我有这个代码用于发送POST请求的参数,它有效:

$client = new GuzzleHttp\Client();
$request = $client->createRequest('POST', 'http://example.com/test.php');
$body = $request->getBody();

$request->getBody()->replaceFields([
    'name' => 'Bob'
]);
Run Code Online (Sandbox Code Playgroud)

但是,当我将POST更改为PUT时,我收到此错误:

Call to a member function replaceFields() on a non-object
Run Code Online (Sandbox Code Playgroud)

这是因为getBody返回null.

在体内发送PUT参数实际上是否正确?或者我应该在URL中执行此操作?

php rest guzzle

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