小编mad*_*eye的帖子

如果客户端断开连接,则停止执行PHP脚本

我有以下问题.

程序客户端向服务器发送HTTPS操作.服务器获取所需的操作和所有参数.但是,当被调用的PHP脚本工作时,客户端会断开连接.

脚本回应响应,客户端不会得到任何不应该的响应.因为它是重要的操作,客户端应该总是得到响应,我想在这种情况发生时阻止PHP脚本执行.

整个脚本都在MySQL事务中,因此如果它死了,则会发生数据库回滚,这是必不可少的.

我已将此代码放在脚本的最后

ob_end_clean();

header("Connection: close");

ignore_user_abort();

ob_start();

echo $response->asXML();

$size = ob_get_length();

header("Content-Length: $size");

ob_end_flush();

flush();

if ( connection_aborted() )
        log('Connection aborted');
else
        log('Connection is fine');
Run Code Online (Sandbox Code Playgroud)

但是connection_aborted总是返回0(NORMAL CONNECTION),因此脚本总是执行. connection_status也没有帮助,所以我不知道还有什么可以尝试.

编辑:

我发现,只有在使用AJAX请求调用脚本时,这才会起作用.当使用常规HTTP调用它时,它表明连接已经死亡.但是,当我用new XMLHttpRequest()它调用它时,从来没有想到连接已关闭.

它是异步请求.

所以我设法缩小了范围.但我仍然不知道如何解决它.

php mysql connection ajax https

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

访问对象属性内的变量

所以我遇到了一个问题。我有这个对象叫做myTree. 该对象具有属性。其中一个属性包含这样的方法:

prep: function (variable) {
    /* some code */
}
Run Code Online (Sandbox Code Playgroud)

在该方法中有一个数组myarray,我想知道是否可以访问该数组的内容,如果可以,我将如何执行此操作。

我做了对的jsfiddle演示,并在JavaScript窗口结束时,你可以看到,我提醒对象prepmyarray包含。

http://jsfiddle.net/Wp7Xh/1/

javascript scope object

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

Zend3中的控制台路由不匹配

我的module.config.php文件中有一个控制台路由

'console' => [
        'router' => [
            'routes' => [
                'remove' => [
                    'type'    => 'simple',
                    'options' => [
                        'route'    => 'remove [force] [init]',
                        'defaults' => [
                            'controller' => Controller\CliController::class,
                            'action'     => 'remove',
                        ],
                    ],
                ]
            ]
        ]
    ]
Run Code Online (Sandbox Code Playgroud)

我的控制器有方法removeAction()

namespace Controller;

class CliController extends AbstractActionController
{
    public function removeAction()
    {
        $this->logger->debug('I am in');
    }
}
Run Code Online (Sandbox Code Playgroud)

当我做命令php public/index.php remove forcephp public/index.php remove 我永远不会被发送到控制器,没有错误或任何输出.那我在做错配对吗?

这就像app没有意识到它是从终端调用的.有时它只是返回,html如果我getConfigModule.php我的内部删除方法module/MyModulefolder.

php zend-framework zend-framework3

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

用VBA复制Excel中的相对公式

我正在尝试复制具有相对行名称和列名称的公式。

我有包含 10 个公式的基本列,我尝试在右侧的列上复制公式 5 次。

例如,在基列中,我有这个公式=A1+B1,我想使下一个单元格=B1+C1,下一个=C1+D1,依此类推。

我有这个代码

For i = 1 To Range("B1").Value
        For j = 1 To 10
            Sheet2.Cells(5 + j, 2 + i).FormulaR1C1 = "=c[-1]"
        Next j
Next i
Run Code Online (Sandbox Code Playgroud)

但这只是从左侧单元格复制值

如果公式相同但不同,那就很容易了。所以我试图找到一种方法来动态引用始终位于左侧的单元格。

这是真正的公式之一

='Balance sheet'!B13*360/'P&L'!B2
Run Code Online (Sandbox Code Playgroud)

我想要下一个单元格是

='Balance sheet'!C13*360/'P&L'!C2
Run Code Online (Sandbox Code Playgroud)

我现在的代码是下一个单元格=B3

excel vba

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

从父组件到子组件的事件

我有在父组件中生成的事件,而子组件必须对其做出反应.我知道这不是推荐的方法vuejs2,我必须做一个$root非常糟糕的发射.所以我的代码是这样的.

<template>
    <search></search>
    <table class="table table-condensed table-hover table-striped" v-infinite-scroll="loadMore" infinite-scroll-disabled="busy" infinite-scroll-distance="10">
        <tbody id="trans-table">
            <tr v-for="transaction in transactions" v-model="transactions">
                <td v-for="item in transaction" v-html="item"></td>
            </tr>
        </tbody>
    </table>
</template>

<script>
    import Search from './Search.vue';

    export default {
        components: {
            Search
        },
        data() {
            return { 
                transactions: [], 
                currentPosition: 0 
            }
        },
        methods: {
            loadMore() {
                this.$root.$emit('loadMore', {
                    currentPosition: this.currentPosition
                });
            }
        }
    }
</script>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那样loadMore,在无限滚动时触发,并且正在将事件发送到子组件搜索.不仅仅是搜索,而是因为它是根,它正在向所有人广播.

什么是更好的方法.我知道我应该使用道具,但我不知道在这种情况下我怎么能这样做.

javascript vue.js vue-component vuejs2

4
推荐指数
1
解决办法
4304
查看次数

在新服务器上打破的codeigniter网站上的链接

我最近将我的codeigniter网站切换到了新的虚拟主机,现在网站上的所有链接都被破坏了.每次我点击其中一个网站时,只会重定向到index.php.一切都在老服务器上工作没有任何问题.我不太了解服务器,问题是它是共享主机,我没有访问/ etc/apache2目录中的conf文件.

我的.htaccess文件是

<IfModule mod_rewrite.c>

    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]

</IfModule>

<IfModule !mod_rewrite.c>

    # Without mod_rewrite, route 404's to the front controller
    ErrorDocument 404 /index.php

</IfModule>
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感谢.谢谢!

apache .htaccess codeigniter

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