小编Hir*_*ter的帖子

PHP:如何使用monolog登录到控制台(php:// out)?

我刚切换到monolog并想将我的消息记录到PHP控制台而不是文件.对于某些人来说这似乎是显而易见的,但我花了一点时间才弄清楚如何做到这一点,我在SO上找不到类似的问题/答案.

Monolog的Github自述文件中的示例仅显示如何使用文件:

<?php

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// create a log channel
$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // <<< uses a file

// add records to the log
$log->addWarning('Foo');
$log->addError('Bar');
Run Code Online (Sandbox Code Playgroud)

但它没有说明如何将消息记录到控制台.在谷歌上搜索之后,我登陆了Symphony的帮助页面,或者是寻找登录浏览器控制台的人的问题.

php console stdout monolog

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

Java:在发送之前显示HttpURLConnection的请求

我想用服务器对服务器进行一些API调用HttpURLConnection.但请求不成功,返回:

<error>
  <http_status>400 Bad Request</http_status>
  <message>Unexpected request Content-Type header ''. Expecting 'application/x-www-form-urlencoded'.</message>
</error>
Run Code Online (Sandbox Code Playgroud)

所以我想检查发送到服务器的"真实"内容是什么.通过真实内容我的意思是确切的HTTP请求.

我有什么想法可以看到这个吗?

编辑: 基于这里的第一个答案,我应该澄清我的问题:我想避免使用像HTTP嗅探器或任何东西的外部程序,我希望有一个功能或属性或任何包含我正在寻找的信息.

如果不是这样,有人知道是否可以手动重建此信息(例如通过调用getRequestMethod()等几个函数)

我经常遇到这个问题,所以我自己也要努力建立这样的功能.只需知道如何:)

java request httpurlconnection

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

PHP:如何通过sprintf()添加前导零/零填充浮动?

我正在使用sprintf()来获取具有一定精度的一些浮点数的格式化字符串.另外,我想添加前导零以使所有数字均匀.对整数执行此操作非常简单:

sprintf('%02d', 1);
Run Code Online (Sandbox Code Playgroud)

这将导致01.但是,对具有精度的浮点执行相同操作不起作用:

sprintf('%02.2f', 1);
Run Code Online (Sandbox Code Playgroud)

收益率1.00.

如何将前导零添加到浮点值?

php printf padding string-formatting

17
推荐指数
1
解决办法
7840
查看次数

如何防止PhpStorm在使用PHPUnit模拟时显示预期的...警告?

在PHPUnit中模拟一个接口时,PhpStorm在它被用作类型提示函数的参数时会抱怨.

interface InterfaceA{                                

}                                                    

class ClassA{                                        
    public function foo(InterfaceA $foo){}           
}                                                    

class PhpStormTest extends PHPUnit_Framework_TestCase
{                                                    
    public function testFoo(){                       
        $mock = $this->getMock("InterfaceA");        
        $a = new ClassA();                           
        $a->foo($mock);                              
    }                                                
}   
Run Code Online (Sandbox Code Playgroud)

$a->foo($mock);PhpStorm强调$mock警告Expected InterfaceA, got PHPUnit_Framework_MockObject_MockObject

图片

使用PHPUnit Mock时出现PhpStorm警告

我猜它正在发生,因为PHPUnit创建了一个运行时模拟器,而PhpStorm无法知道它实际上是在实现接口.

php phpunit unit-testing type-hinting phpstorm

14
推荐指数
1
解决办法
8635
查看次数

PHP:如何在Guzzle 4中检查超时异常?

如果在请求期间发生错误,Guzzle会抛出异常.不幸的是,似乎没有特定于超时的错误 - 这对我来说很重要,因为我知道那些可能会偶尔发生.我想重试相应的请求,并且需要能够判断是否由于超时而发生错误.

来自文档:

// Timeout if a server does not return a response in 3.14 seconds.
$client->get('/delay/5', ['timeout' => 3.14]);
// PHP Fatal error:  Uncaught exception 'GuzzleHttp\Exception\RequestException'
Run Code Online (Sandbox Code Playgroud)

RequestException在其信息message属性:

"cURL error 28: Operation timed out after 3114 milliseconds with 0 bytes received"
Run Code Online (Sandbox Code Playgroud)

所以我可以评估消息模式,但这感觉有点不对,因为这些消息将来很容易改变.

使用guzzle 4时是否有更好/更稳定的方法来检查超时?

php timeout exception guzzle

11
推荐指数
1
解决办法
5681
查看次数

如何升级到PhpStorm 8?

JetBrains最近发布了PhpStorm 8,但我找不到任何有关如何升级的信息.我目前正在使用PhpStorm 7.

EAP版本明确提到应该使用新文件夹:

此版本包含30天的限时许可证.没有可用的补丁更新.

请记住将.zip和.tar.gz版本安装到完全空的文件夹中.不要只是解压缩以前的版本!

请注意,8.0版本使用单独的设置文件夹,因此可能需要自动或手动导入设置.第三方插件可能与134.x版本兼容也可能不兼容 - 如果出现任何问题,请ping插件作者.我们很乐意为他们提供支持.

资料来源:http://blog.jetbrains.com/phpstorm/2014/03/phpstorm-8-early-access-program-started/

我不知道这是否也适用于最终版本?有没有关于如何升级的公开信息?

php ide upgrade phpstorm

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

PHP:如何检查 gz 文件是否已损坏?

有没有办法检测gz文件在PHP中是否损坏?

我目前正在使用http://www.php.net/manual/de/function.gzread.php#110078来确定文件大小并通过读取整个 * 文件

$zd = gzopen ( $file, "r" );
$contents = gzread ( $zd, $fzip_size );
gzclose ( $zd );
Run Code Online (Sandbox Code Playgroud)

不幸的是,一些 gz 文件已损坏,最后 4 个字节不代表 gz 文件的实际长度。只要数字是负数,我就可以判断出问题,但有时它是正数(并且非常大),这会导致内存不足错误。如何提前检查文件是否已损坏?

  • 我正在阅读整个文件,因为我发现没有工作方法可以在不知道最长行的大小的情况下逐行读取文件 - 这导致(在某些情况下)行不完整。

php gzip corrupt

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

如何通过代码启用URI-Class的IDN/IRI支持?

我正在尝试为URI类启用IDN/IRI支持,因为我需要德语umlaut-domains上的"Uri.IsWellFormedUriString"方法(例如www.bücher.de).

我在/sf/answers/427537771/上找到了类似的问题(摘自http://msdn.microsoft.com/en-us/library/system.uri.aspx "国际资源标识符支持")但解决方案对我不起作用.我当前的app.config文件看起来像这样:

<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="..." type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        <!-- ... some sections in here ... -->
        </sectionGroup>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
        <!-- ... some sections in here ... -->
        </sectionGroup>
    </configSections>
    <userSettings>
        <!-- ... some settings in here ... -->
    </userSettings>
    <applicationSettings>
        <!-- ... some settings in here ... -->
    </applicationSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

当我刚补充

  <uri>
  <idn enabled="All" />
  <iriParsing …
Run Code Online (Sandbox Code Playgroud)

c# uri idn

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