小编Wal*_*eed的帖子

PHP 7中的会话

我已经使用PHP 5.xx多年,但最近更新到PHP 7.我无法创建会话.

我已阅读文档.

在早期的PHP中,您只需要:

session_start();
Run Code Online (Sandbox Code Playgroud)

启动会话,但这不适用于PHP 7,我的页面继续加载.我在参数中提供了数组,如PHP网站上所记录的那样,但它仍然不断加载页面.

我试过这个:

session_start([
'cache_limiter' => 'private',
'read_and_close' => true,
]);
Run Code Online (Sandbox Code Playgroud)

但我的浏览器一直在加载,几秒钟后显示"此网页不可用"

Apache重启错误:

[Wed Dec 30 00:45:16.470001 2015] [mpm_winnt:notice] [pid 2384:tid 376] AH00455:Apache/2.4.18(Win32)OpenSSL/1.0.2e配置PHP/7.0.0 - 恢复正常操作

[Wed Dec 30 00:45:16.470001 2015] [mpm_winnt:notice] [pid 2384:tid 376] AH00456:Apache Lounge VC14 Server内置:2015年12月9日10:17:39

[Wed Dec 30 00:45:16.470001 2015] [core:notice] [pid 2384:tid 376] AH00094:命令行:'c:\ xampp\apache\bin\httpd.exe -d C:/ xampp/apache'

[Wed Dec 30 00:45:16.470001 2015] [mpm_winnt:notice] [pid 2384:tid 376] AH00418:父:创建子进程1716

[Wed Dec 30 00:45:17.172064 2015] [ssl:warn] [pid 1716:tid 384] AH01909:www.example.com:443:0服务器证书不包含与服务器名称匹配的ID

[Wed Dec …

php session

13
推荐指数
1
解决办法
8428
查看次数

JSqlParser - 从Column获取表名

我刚刚开始探索JSqlparser.根据我的理解,我已经修改了TablesNamesFinder以提取列和表,并且它的工作正常但是一个非常小的问题.

@Override
public void visit(Column col) {
    Column c = col;
    String cname = c.getFullyQualifiedName();
    Table t = c.getTable();
    System.out.println(t.getName());
}
Run Code Online (Sandbox Code Playgroud)

这个不打印的表,对于大多数情况它打印为null,并且在极少数情况下它打印表的别名但不打印表.有什么我忘记的吗?

其余的访问

@Override
public void visit(SelectExpressionItem exp){
    exp.getExpression().accept(this);  
}        

@Override
public void visit(Table tableName) {
   // System.out.println(tableName.getFullyQualifiedName()); 
}

@Override
public void visit(Select select) {
    select.getSelectBody().accept(this);
}
Run Code Online (Sandbox Code Playgroud)

java jsqlparser

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

Laravel Ajax登录,成功后重定向到上一个url

假设我有一个使用auth中间件的页面A. 由于没有登录,它会被重定向到登录页面.

在登录页面上,我有自定义ajax登录系统.在成功登录时,我想使用相同的URL重定向到页面A,以便可以完成操作.

我的登录代码是这样的:

public function postLogin(Request $request)
{

    $auth = false;
    $errors = [];

    $inputs = $request->all();
    $validator = $this->validator($inputs);

    if ($validator->fails()) {
        return response()->json([
            'auth' => false,
            'intended' => URL::previous(),
            'errors' => $validator->errors()
        ]);
    }

    $user = User::where('email', $request->get('email'))->first();

    if ($user && $user->is_active == 0) {
        $errors[] = "This account has been deactivated";
    } else if ($user && $user->confirm_token != null) {
        $errors[] = "Please verify your email in order to login";
    } else {

        $credentials = ['email' …
Run Code Online (Sandbox Code Playgroud)

ajax login laravel laravel-5.4

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

在没有请求的情况下在asp.net webform自定义类中创建相对URL

我实现了一种调用函数ProcessJob的作业调度.现在在这个方法里面我需要为我的一个页面生成url,即DoanloadPage.aspx?some_params.该网址通过电子邮件发送给用户,当用户点击该链接时,它将转到该页面.

这里的问题是我没有在Web请求方法中生成url,或者我没有访问Request对象的权限.需要在自定义类中生成URL,该类是线程化的,即不在Web请求中.

所以我不能使用这些解决方案:

HostingEnvironment.MapPath("test.aspx");
VirtualPathUtility.ToAbsolute("123.aspx");
HttpContext.Current.Request.Url.Authority;
Run Code Online (Sandbox Code Playgroud)

这些都不起作用,因为我认为它们都以某种方式依赖于当前的请求或会话.那么我如何在我的代码中为我的应用程序生成网址,以便我可以随意使用它们.

.net c# asp.net webforms

6
推荐指数
1
解决办法
243
查看次数

SignalR客户端服务器已连接但未将数据推送到生产服务器上的客户端

我使用SignalR开发了一个Web应用程序,它在我的开发服务器上完美运行.但由于一些未知的原因,它不适用于生产服务器.

我做了一些测试:

$.connection.hub.start().done(function () {

        console.log('started');

});
Run Code Online (Sandbox Code Playgroud)

这总是按照预期在控制台中"启动".所以客户端和服务器是连接的.但是,当我发送任何数据,如登录凭据时,我没有收到任何回复.

这是连接帧图像.正如您所看到的,客户端正在向服务器发送数据但未收到任何响应.

在此输入图像描述

public override Task OnConnected()
{

        Clients.All.Listen("Connected to HUB");

}
Run Code Online (Sandbox Code Playgroud)

客户端侦听方法:

hub.client.listen = function (response) {

    console.log('Listen', response);

}
Run Code Online (Sandbox Code Playgroud)

有一个我用来调试的Listen方法.这不会打印任何东西.所以信号器客户端服务器没有连接.

编辑:

报告的问题在这里:https://github.com/SignalR/SignalR/issues/4279如果这有帮助.

EDIT2:

我的webapp是一个Vue js 2应用程序.我使用vue-cli编译并上传到服务器.我的signalr.js文件是从ASP.NET MVC项目复制的.

我使用SignalR 2.4制作了一个测试ASP.NET MVC 5应用程序,我能够在实时服务器上进行通信.

signalr signalr-hub signalr.client

6
推荐指数
1
解决办法
840
查看次数

模型绑定在 aspnet core web api 中不起作用

我正在开发 ASP.NET Core 2.1 Web API 项目。我正在尝试阅读这篇文章:https://www.c-sharpcorner.com/article/jwt-json-web-token-authentication-in-asp-net-core/但我陷入了行动。我的模型类不会绑定到输入。

[AllowAnonymous]
[HttpPost]
public IActionResult Login([FromBody] LoginVM loginVM)
{
    IActionResult response = Unauthorized(); // cant reach this point, my breakpoint is here
    var user = AuthenticateUser(new UserModel { });

    if (user != null)
    {
        var tokenString = GenerateJSONWebToken(user);
        response = Ok(new { token = tokenString });
    }

    return response;
}

public class LoginVM
{
    public string Username { get; set; }
    public string Password { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

c# asp.net-web-api asp.net-core

6
推荐指数
1
解决办法
4394
查看次数

小米手机默认开启特殊权限

我已经检查过有关该主题的先前问题,但没有一个完全回答问题。

在小米设备中,“显示锁屏”和“显示弹出对话框”权限被视为特殊权限。现在,在上一个问题中,有一些方法要求用户手动允许它们,但没有默认的方法来启用它们。

当您从 Google Playstore 安装 Skype 或类似应用程序时,默认情况下会为这些设备启用这些权限。我需要“在锁屏上显示”权限才能在接到 VOIP 呼叫时显示我的应用程序。

我尝试过以下代码,但它不适用于小米设备。

   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1)
      {
          setShowWhenLocked(true);
          setTurnScreenOn(true);
          KeyguardManager keyguardManager = (KeyguardManager) getSystemService(getApplicationContext().KEYGUARD_SERVICE);
          if(keyguardManager!=null)
              keyguardManager.requestDismissKeyguard(this, null);
      }
      else
      {
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
                  WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                  WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
      }
Run Code Online (Sandbox Code Playgroud)

我已允许在manifest.xml 文件中显示showOverLockedScreen 以及setShowWhenLocked(true); 但他们都没有启用这些特殊权限。

permissions android xiaomi

5
推荐指数
0
解决办法
289
查看次数

Redux saga 从 saga-action 中的地图内部调度动作

我有以下方式的 API 调用:

  1. 调用 main api,它给了我一个对象数组。
  2. 对于数组中的每个对象,我必须异步调用另一个 API。
  3. 一旦对象的子 API 调用完成,更新它在 redux 存储中的数据,它是一个数组 (ofc) 并显示它。

所以场景是一个列表,显示以动态方式增长的项目。

由于我使用的是 redux-saga,因此我必须从 redux-action 内部发送第二部分。我尝试了以下方法:

const response = yield call(get, 'endpoint')

const configHome = response.map(function* (ele) {
    const data = yield call(get, ele.SomeURI + '?someParameter=' + ele.someObject.id)
}))
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为 map 对生成器函数一无所知。所以我试过这个:

const response = yield call(get, 'endpoint')

const configHome = yield all(response.map((ele) => {

     return call(get, paramsBuilder(undefined, ele.CategoryID))

}))
Run Code Online (Sandbox Code Playgroud)

但这会阻止我的 UI 显示可用数据,直到所有子 API 调用完成。

我还尝试制作一个单独的生成器函数,我从地图内部调用它并调用它的 .next() 函数,但这里的问题再次是 saga 不控制该生成器函数,因此调用效果不会正确返回任何值。

完全卡在这部分。将不胜感激任何帮助。

reactjs redux redux-saga

5
推荐指数
0
解决办法
99
查看次数

恢复特定的旧提交

您好,我在 Bitbucket 上有一个存储库。我正在与一个项目的合作伙伴合作,他在几次提交前推送了一些更新,在处理一个文件时,我意识到他做了错误的代码。我想恢复该提交,特别是仅恢复该文件,以便我只能取回该文件的代码。cartitems.blade.php

这可能吗?

附件是 SourceTree 工具的图像。未提交的更改是我的新更改。我想保留这些并仅恢复该特定文件。

在此输入图像描述

git atlassian-sourcetree

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

迭代 JObject 键

我通过https://gate.io/api2#tradeJObject API返回以下内容。我如何迭代每个作为单独硬币的密钥也获得它的值。

我尝试使用 Newtonsoft JObjectParse 来解析它,如下所示:

var coinData = JObject.Parse(@"{
    ""result"": ""true"",
    ""available"": {
        ""BTC"": ""0.83337671"",
        ""LTC"": ""94.364"",
        ""ETH"": ""0.07161"",
        ""ETC"": ""82.35029899""
    },
    ""locked"": {
        ""BTC"": ""0.0002"",
        ""YAC"": ""10.01""
    }
}")["available"];

foreach (JToken item in coinData)
{
    item.Key
}
Run Code Online (Sandbox Code Playgroud)

但随后JToken不允许访问键值。我不知道如何进一步解析它。

从 gateway api 收到的 JSON:

{
    "result": "true",
    "available": {
        "BTC": "0.83337671",
        "LTC": "94.364",
        "ETH": "0.07161",
        "ETC": "82.35029899"
    },
    "locked": {
        "BTC": "0.0002",
        "YAC": "10.01"
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:在循环迭代时我应该用 ':' 来打破它吗?如果我打破它并替换引号,这将起作用。

foreach (JToken item in coinData)
{ …
Run Code Online (Sandbox Code Playgroud)

c# json.net

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

jQuery DataTables 的简单自定义排序功能

数字排序不适用于我的数据集。所以我做了一个自定义排序,将整个字符串转换为数字,然后基于它进行排序,但由于某些原因它不起作用。我在这里缺少什么?

$.fn.dataTableExt.oSort["test-desc"] = function (x, y)
{

         x = parseInt(x);
        y = parseInt(y);

        if ( x < y)
        {
            return 1;
        }

        return 0;


};

$.fn.dataTableExt.oSort["test-asc"] = function (x, y)
{

    x = parseInt(x);
    y = parseInt(y);

    if ( x > y)
    {
        return 1;
    }

    return 0;

}

$('table').DataTable({
    "pageLength": 300,
    "bLengthChange": false,
    "columnDefs": [
    { "type": "test", targets: 3 }
    ]
});
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

上升和下降都无法正常工作。我已经检查过这些函数被调用并正确地将字符串转换为数字实例。

sorting jquery datatables

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

PHP中$ this变量用法的解释

我不太明白这里的OOP.我相信$ this或this可以用于指向类的当前实例并且可以访问所有非静态成员.但接下来发生了什么:

public function store(Request $request)
{
    $this->validate()
}
Run Code Online (Sandbox Code Playgroud)

此代码来自Laravel框架控制器类.我可以访问validate()方法但问题是,它不在当前类中,即使它从基类或父类继承,我也不能通过$ this变量访问它.

后来在代码中我能够像这样使用我的模型:

$post = new Post;
Run Code Online (Sandbox Code Playgroud)

为什么我调用Model Post类而不是该类的构造函数?

php oop laravel

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

date_format无法在Laravel中验证

我将这个验证用于日期:

'fiscal_end' => 'required|date_format:dd/mm/yyyy'
Run Code Online (Sandbox Code Playgroud)

正在做:

print_r(Input::all());
die();
Run Code Online (Sandbox Code Playgroud)

我得到:

[fiscal_end] => 25/01/2017 
Run Code Online (Sandbox Code Playgroud)

我不明白这里是什么错误会产生错误:日期必须采用正确的格式dd / mm / yyyy。

我正在使用Laravel 5.3,表单上的日期字段实际上是Bootstrap Datepicker字段。

laravel-5

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