小编Got*_*bel的帖子

如何刷新使用phar.cache_list指令缓存的phar?

我将我的phar添加到cache_list指令中,php.ini并且缓存工作得很好.几天后我更新了phar,现在我收到以下错误:

Warning: Phar::webPhar(phar:///usr/share/app/app.phar/www.php): failed to open
stream: phar error: internal corruption of phar "/usr/share/app/app.phar"
(crc32 mismatch on file "www.php") in /usr/share/app/app.phar on line 8
Run Code Online (Sandbox Code Playgroud)

如果我注释掉该cache_list指令,那么phar工作并加载正常,但现在我无法再缓存它.这让我觉得PHP正在查看crc32旧文件.

我试过重启apache我不知道如何"刷新"缓存或者甚至是问题.

php apache phar

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

使用 cURL 通过带有 MULTIPART/FORM-DATA 的 POST 进行流(逐行)文件上传

我想将文件上传到具有特定 URL 的远程服务器上的 PHP 表单。上传表单是文件上传表单 ( Multipart/form-data),我的脚本应该采用本地文件,并将其发送到该表单。

文件有点大,但表格文件大小限制为1GB,这没问题。但更紧迫的是,由于某些情况,我必须将文件作为流发送!

这意味着逐行读取文件,然后以某种方式上传它,而无需创建临时文件以通过CURLOPTS_POSTFILDS.

简而言之:

  • 我需要使用CURLOPTS_READFUNCTION(我认为)逐行获取文件的内容
  • 该方法必须是 POST
  • 这必须模拟远程服务器上传表单上的常规文件上传(所以我想我需要某种虚拟文件名)

我已经尝试了很多方法来做到这一点,但我都失败了。我对cURL,我已经尝试了来自其他 StackOverflow 问题和其他论坛的大量信息,但无济于事。

我得出的结论是这可能是不可能的,但正如我所说,我对自己在做什么一无所知,所以我需要一些更有经验的人提供一些信息或指导。到目前为止,我认为CURLOPT_INFILE并且CURLOPT_READFUNCTION只使用PUT方法,但我必须使用POST.

抱歉问了这么长的问题,我希望它是有道理的。并提前感谢您提供任何帮助或信息。

编辑

这是建议的一些代码:

$fh = fopen('php://memory','rw');
fwrite( $fh, $content); //maybe write the contents to memory here?
rewind($fh);


$options = array(
    CURLOPT_RETURNTRANSFER  => true
    ,CURLOPT_SSL_VERIFYPEER => false
    ,CURLOPT_SSL_VERIFYHOST => 1
    ,CURLOPT_FOLLOWLOCATION => 0
    ,CURLOPT_HTTPHEADER     => array(
        'Content-type: multipart/form-data'
    )
    ,CURLOPT_INFILE         => $fh //I want to read the …
Run Code Online (Sandbox Code Playgroud)

php curl file-upload multipartform-data

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

我怎样才能获得明天00h10的时间戳?

为了防止误解:我的所有代码行都很好,并且它们正常工作.我只是在我的错误参数中date()显示秒数date('H:s'),它应该显示分钟数date('H:i').(感谢chumkiu提示.)


我想在00h10获取即将到来的一天的时间戳.

我以为我可以使用这个strtotime()功能,例如

$timestamp = strtotime('tomorrow 00:10');
Run Code Online (Sandbox Code Playgroud)

但是当我检查

$mydate = date('Y-m-d H:s', $timestamp);
var_dump($mydate);
Run Code Online (Sandbox Code Playgroud)

输出是

string(16) "2013-10-03 00:00"
Run Code Online (Sandbox Code Playgroud)

文档中strtotime()有很多例子如何获得不同的时间

echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
Run Code Online (Sandbox Code Playgroud)

但他们都没有接近我的问题.

有趣的是:我能做到这一点

$time_h = strtotime('tomorrow +10 hours');
$time_m = strtotime('tomorrow +10 minutes');
Run Code Online (Sandbox Code Playgroud)

$time_h返回想要的结果( …

php time date

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

如何在setInterval中暂停和重新启动动画?

我写了一个小代码,从屏幕顶部滑下来的图像.我有一个暂停按钮来清除超时.但是我无法阻止JS动画并从停止的同一个地方继续.

的jsfiddle-实施例

Code :
$.fn.pSlide = function(options) {
        var icount = 0,interval;
        var isPaused = false;
        documentHeight  = $('.image-container').height(),
        documentWidth   = $('.image-container').width(),
        imageHeight = 250;
        imageWidth = 250;
        defaults = {
            minSize     : 5,
            maxSize     : 15,
            newOn       : 8000, //controls duration of each element
        },
        options = $.extend({}, defaults, options);

        $('#control-btn').click(function() {

            window.clearInterval(interval);
        });

        interval = window.setInterval(function() {
            if(!isPaused) {
                var $elm = $('.image-container img').eq(icount);
                var startPositionLeft   = Math.random() * documentWidth - imageWidth ,
                startOpacity        = 0.5 + Math.random(), …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

Pagerfanta和Doctrine2 COUNT优化

我正在使用Pagerfanta和Doctrine Adapters与Symfony2和Silex.随着我的数据库变得越来越大,我发现管理员统计信息页面上的大量负载会显示带有分页的大数据.我检查了分析器,看到了令人难以置信的低效查询:

SELECT DISTINCT id16
FROM (
    SELECT f0_.username AS username0, ..., f0_.added_on AS added_on20
    FROM fos_user f0_ ORDER BY f0_.id DESC
) dctrn_result
LIMIT 50 OFFSET 0;

SELECT COUNT(*) AS dctrn_count
FROM (
    SELECT f0_.username AS username0, ..., f0_.added_on AS added_on20
    FROM fos_user f0_ ORDER BY f0_.id DESC
) dctrn_result
LIMIT 50 OFFSET 0;`
Run Code Online (Sandbox Code Playgroud)

通过创建DoctrineORMAdapter类的固定版本,可以轻松修复第一个查询.生成COUNT()查询的代码更复杂,所以我决定询问是否有任何解决方案.

那么有没有办法让Pagerfanta不运行嵌套查询?

php mysql symfony doctrine-orm pagerfanta

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

如何使用Bootstrap ScrollSpy在body上使用多个目标

我想使用带有多个导航的Bootstrap ScrollSpy,我的主导航和垂直子挡.

我试过多次这样的事情:

  • <body data-spy="scroll" data-target="#main-nav #subnav">
  • <body data-spy="scroll" data-target="#main-nav, #subnav">
  • $('body').scrollspy({target: "#main-nav"});
    $('body').scrollspy({target: "#subnav"});
  • $('body').scrollspy({target: "#main-nav"}, {target: "#subnav"});
  • 放置包装器div:
    <body data-spy="scroll" data-target="#main-nav"><div data-spy="scroll" data-target="#subnav">

没有什么工作得好......

我该如何实现这一目标?

谢谢!

jquery multiple-instances twitter-bootstrap scrollspy

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

php为什么或运算符返回0为真

在以下代码中:

$a = 0 or 1;
$b = 0 || 1; 
echo "$a, $b"; // 0, 1
Run Code Online (Sandbox Code Playgroud)

为什么$a等于零,我认为or并且||在PHP中可以互换?该or声明究竟发生了什么让它回归0

我会假设这两个结果都会1让它回响1, 1.

php

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

如何在SLES 12上启用SSH?

我正在尝试启用ssh连接来suse linux.我有sshd服务运行:

peeyush@linux-pohb:~/gccgo.work> systemctl status sshd.service
sshd.service - OpenSSH Daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since Thu 2015-03-19 18:36:05 IST; 3h 50min ago
  Process: 5702 ExecStartPre=/usr/sbin/sshd-gen-keys-start (code=exited, status=0/SUCCESS)
 Main PID: 6035 (sshd)
   CGroup: /system.slice/sshd.service
           ??6035 /usr/sbin/sshd -D

Mar 19 18:36:01 linux-pohb sshd-gen-keys-start[5702]: Checking for missing se...
Mar 19 18:36:05 linux-pohb sshd-gen-keys-start[5702]: ssh-keygen: generating ...
Mar 19 18:36:06 linux-pohb sshd[6035]: Server listening on 0.0.0.0 port 22.
Mar 19 18:36:06 linux-pohb sshd[6035]: Server listening on :: port 22.
Hint: Some …
Run Code Online (Sandbox Code Playgroud)

ssh opensuse sles

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

如何在树枝模板中隐藏表单字段?

我有一个包含两个TextType字段的Symfony表单.如果某个检查评估为false,我不想显示input字段但输出字段的静态内容,hidden而是将表单字段包含为字段.我怎样才能做到这一点?

forms hidden-field symfony

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

Symfony Guard组件和无状态认证(Shibboleth)

我的应用程序需要使用名为Shibboleth的SSO服务.所以我使用了现有的shibboleth-bundle.事情发生了变化,我们需要为用户添加表单身份验证方法.所以我决定用新的Guard组件实现Shibboleth身份验证.(见ShibbolethGuardBundle)

我在开发过程中发现了一个问题.Symfony ShibbolethAuthenticator在第一个请求时调用方法,创建一个令牌,并且永远不会ShibbolethAuthenticator在以后的请求中调用任何方法.这意味着,如果Shibboleth会话结束,用户仍然使用Symfony会话进行身份验证.

如果要实现令牌身份验证,这也是一个问题.用户只需要在第一次请求时发送令牌.会话对任何其他请求进行身份验证.

其他SSO服务也存在此问题.如果您在Facebook注销,您希望在任何使用Facebook身份验证的网站上注销.但是如果你用Guard实现了这个,你在facebook注销后仍然有一个有效的会话.

我通过检查是否UserProvider在每个请求中设置了shibboleth头变量找到了一个快速的解决方案.如果它们丢失,则会调用异常并ExceptionListener重定向到登录页面.

我认为这不是一个好的解决方案,因为ShibbolethGuardBundle应该处理这个问题.有谁知道如何以更合适的方式解决这个问题?

php session shibboleth single-sign-on symfony

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