小编and*_*ini的帖子

“vagrant up”可以,但无法通过浏览器访问

我第一次在 OSX Yosemite 上尝试 Vagrant,并使用 LAMP 堆栈从http://rove.io下载了 Vagrantfile/Cheffile 。

\n\n

他们来了:

\n\n

厨师文件

\n\n
# encoding: utf-8\n\nsite \'http://community.opscode.com/api/v1\'\n\ncookbook "apt"\ncookbook "mysql", {}\ncookbook "nodejs", {:github=>"mdxp/nodejs-cookbook"}\ncookbook "python", {}\ncookbook "git", {}\ncookbook "php", {}\ncookbook "nginx", {}\n
Run Code Online (Sandbox Code Playgroud)\n\n

流浪者文件

\n\n
# encoding: utf-8\n# This file originally created at http://rove.io/36f03d7ed905b30118b48bfe3d16ee07\n\n# -*- mode: ruby -*-\n# vi: set ft=ruby :\n\nVagrant.configure("2") do |config|\n\n  config.vm.box = "opscode-ubuntu-12.04_chef-11.4.0"\n  config.vm.box_url = "https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_chef-11.4.0.box"\n  config.ssh.forward_agent = true\n\n  config.vm.network :forwarded_port, guest: 80, host: 8080\n\n  config.vm.provision :chef_solo do |chef|\n    chef.cookbooks_path = ["cookbooks"]\n    chef.add_recipe :apt\n    chef.add_recipe …
Run Code Online (Sandbox Code Playgroud)

chef-infra vagrant

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

react-native - 无法访问组件函数内的setState

我正在学习反应原生,现在我因为这个错误而被困在州课上:

_this2.setState is not a function.
Run Code Online (Sandbox Code Playgroud)

这是当前的代码块.

...
export default class StopWatch extends Component {

  constructor(props){
    super(props);
    this.state = {
      timeElapsed: null
    }
  }

  handleStartStopClick(){
    var startTime = new Date();

    setInterval(() => {
      this.setState(previousState => {
        return {timeElapsed:new Date() - startTime};
      });
    }, 100);
  }
...
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

state reactjs react-native

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

Laravel 队列作业多次运行同一作业

我正在尝试查看 Laravel Queue 的工作情况,但遇到了一些问题。

所以我添加了一个 testJob

protected function schedule(Schedule $schedule)
{
    $schedule->job(new TestJob)->everyMinute();
}
Run Code Online (Sandbox Code Playgroud)

工作类没有任何作用,只是一个测试

class TestJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public function __construct()
    {
        //
    }

    public function handle()
    {
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

正如文档所说,将 cron 添加到服务器

* * * * * cd /home/ec2-user/myproject-prod && php artisan schedule:run >> /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

最后,添加了主管工人

[program:myproject-queue]
process_name=%(program_name)s_%(process_num)02d
command=php /home/ec2-user/myproject-prod/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=ec2-user
numprocs=1
redirect_stderr=true
stdout_logfile=/home/ec2-user/supervisor-myproject-prod.log
Run Code Online (Sandbox Code Playgroud)

因此,正如下面的日志所示,在同一秒您可以看到同一个作业运行多次。

有时相同的作业运行一次(正确),很多时候它运行两次,有几次它运行 4 次。

[2019-11-14 08:25:02][5537] Processing: App\Jobs\TestJob
[2019-11-14 08:25:02][5537] Processed: …
Run Code Online (Sandbox Code Playgroud)

laravel

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

ionic 4 tabbar - 如何始终显示选项卡根而不是选项卡子页面

我目前在选项卡中有一条子路线:

/mytab
/mytab/subpage
Run Code Online (Sandbox Code Playgroud)

因此,当我在子页面中时,单击另一个选项卡并返回,我将看到之前所在的子页面(默认行为)。

我想让它在单击选项卡按钮时始终显示根页面(而不是子页面) 。

我尝试将按钮参数更改tab='mytab'href='/mytab'- 它有效,但每次单击时都会导致页面刷新。

<ion-tab-button href="/tabs/mytab">
  <ion-icon name="ios-list"></ion-icon>
  <ion-label>mytab</ion-label>
</ion-tab-button>
Run Code Online (Sandbox Code Playgroud)

还有其他方法可以达到这个目的吗?

ionic-framework angular

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

nginx - 如何使用 stub_status 创建 /status

我正在尝试创建一个 /status 以与 newrelic 一起使用,但它总是返回 404。

$ curl 127.0.0.1/status
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.17.1</center>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的 nginx conf 文件(它也使用 certbot)。

server {

  server_name mysite.com api.mysite.com painel.mysite.com;

  location / {
    root   /var/www/mysite-prod/public;
    index  index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ \.(php|phar)(/.*)?$ {
    root /var/www/mysite-prod/public;
    fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$;
    fastcgi_intercept_errors on;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  PATH_INFO $fastcgi_path_info;
    fastcgi_pass   php-fpm;
  }

  listen 443 ssl; # managed by Certbot
  ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem;   # managed by …
Run Code Online (Sandbox Code Playgroud)

nginx newrelic

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

laravel - Cors 中间件在使用 Header() 时导致响应错误

我正在使用 Laravel 5.6 和这个中间件来允许 Ionic 应用程序调用我的 API

<?php
namespace App\Http\Middleware;
use Closure;

class Cors
{
    public function handle($request, Closure $next)
    {
        return $next($request)
            ->header('Access-Control-Allow-Origin', '*')
            ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
            ->header('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With, X-XSRF-TOKEN');
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,这会导致我强制下载文件的两个请求出现错误。

Call to undefined method Symfony\Component\HttpFoundation\BinaryFileResponse::header()
Run Code Online (Sandbox Code Playgroud)

我的要求1

return Excel::download(new \App\Exports\FleetExport($fleetId), 'debts.xlsx');
Run Code Online (Sandbox Code Playgroud)

我的要求2

return \Response::download($file_path,
                           $file_name,
                           array('Content-Type: application/octet-stream','Content-Length: '. filesize($file_path))
                           )->deleteFileAfterSend(true);
Run Code Online (Sandbox Code Playgroud)

禁用这个中间件可以使我的请求正常工作。

难道我做错了什么?

php laravel

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

由于 SDK_INT 和 VERSION_CODES.P 无法构建 Android APK - 那是什么?

这两天我试图发布我的 Android 版 React Native 应用程序,但遇到了以下错误:

> Task :react-native-device-info:compileReleaseJavaWithJavac FAILED
/Users/myuser/project/node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java:368: error: cannot find symbol
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
                                                      ^
  symbol:   variable P
  location: class VERSION_CODES
/Users/myuser/project/node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java:370: error: cannot find symbol
        locationEnabled = mLocationManager.isLocationEnabled();
                                          ^
  symbol:   method isLocationEnabled()
  location: variable mLocationManager of type LocationManager
Note: /Users/myuser/project/node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

FAILURE: Build failed with an exception.
Run Code Online (Sandbox Code Playgroud)

我的project/android/build.gradle文件是:

buildscript {
    ext {
        buildToolsVersion = "27.0.3"
        minSdkVersion = 23 …
Run Code Online (Sandbox Code Playgroud)

java android gradle

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

pupetteer - 获取内部文本返回 JSHandle 前缀

我使用此代码来查找元素并获取其文本:


// helper method to find elements
async function findElementByText(page, tag, searchValue, conditionType) {
  const items = await page.$$(tag)
  for (var i = 0; i < items.length; i++) {
    let valueHandle = await items[i].getProperty('innerText');
    let itemText = await valueHandle.jsonValue();
    const text = getItemText(itemText);
    if(conditionType == 'contains'){
      if (text.indexOf(searchValue) !== -1) return items[i]
    }else if(conditionType == 'equals'){
      if (searchValue == text) return items[i]
    }
  }
  return false;
}

// find an element using helper
let searchResult = await findElementByText(parent, 'span', 'R$', …
Run Code Online (Sandbox Code Playgroud)

typescript puppeteer

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

ionic - firebase push 只适用于打开的应用程序?

我已经在我的 Ionic 4 应用程序中实现了 FireBaseX 来发送远程通知。

this.platform.ready().then(() => {
  let platforms = this.platform.platforms();

  if(platforms.includes('ios') || platforms.includes('android') || platforms.includes('mobile')){

    this.firebase.getToken().then(token => {
      console.log(`FIREBASE TOKEN ${token}`);
      if(platforms.includes('ios')) this.firebase.grantPermission();
    });

    this.firebase.onMessageReceived().subscribe(data => {
      console.log('FIREBASE MESSAGE', data);
    });

  }

});
Run Code Online (Sandbox Code Playgroud)

因此,当我在 iOS 中打开该应用程序时,它会正确请求权限。

然后我发送测试消息并且 console.log() 正确显示。

2020-02-05 17:35:38.282123-0300 Parkaz[86464:2354851] didReceiveMessage: {
    "collapse_key" = "com.myapp.app";
    from = 678323471xxxx;
    notification =     {
        body = teste;
        e = 1;
        tag = "campaign_collapse_key_5659280550157990837";
        title = teste;
    };
}
Run Code Online (Sandbox Code Playgroud)

但是,如果未打开该应用程序,则什么也不会发生。通知横幅没有出现,没有徽章,没有声音......没有......

难道我做错了什么?

cordova firebase ionic-framework

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

无法在一行中检查嵌套对象变量

我需要在用户第一次访问该页面时向他显示欢迎模式。

这段代码工作正常:

if(this.app_data) {
  if(this.app_data['company']){
    if(this.app_data['company']['welcomed'] === false){
      this.openWelcomeModal();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是检查嵌套变量结构的混乱代码。

明确的方法是使用一行,如下所示:

if(this.app_data['company']['welcomed'] === false){
  this.openWelcomeModal();
}
Run Code Online (Sandbox Code Playgroud)

但这会产生错误:

if(this.app_data) {
  if(this.app_data['company']){
    if(this.app_data['company']['welcomed'] === false){
      this.openWelcomeModal();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在一行中完成它,而不需要检查嵌套对象的每一层?

typescript ionic-framework angular

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

laravel - 无法运行 phpunit - TestCase::setUp() 必须与 PHPUnit 兼容

我尝试运行 phpunit 并收到此错误:

PHP Fatal error:  Declaration of Illuminate\Foundation\Testing\TestCase::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp(): void in /Users/xxx/dev/xxx/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php on line 65
Run Code Online (Sandbox Code Playgroud)

所以我找到了解决方案:在测试中添加:voidsetUp()方法tearDown

所以我改变了laravel里面的文件:vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php

public function setUp():void
{
  parent::setUp();
}

public function tearDown():void
{
  parent::tearDown();
}
Run Code Online (Sandbox Code Playgroud)

它有效,但重点是我正在修改vendor目录内的一个文件,并且它可能会被作曲家命令覆盖。

如何应用此解决方案而不修改vendor目录内的文件?

我的composer.json 文件

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.2",
        "aloha/twilio": "^4.0",
        "aws/aws-sdk-php": "^3.154",
        "bensampo/laravel-enum": "^1.11",
        "crockett/csv-seeder": "^1.1",
        "cviebrock/eloquent-sluggable": "^4.5",
        "fideloper/proxy": "^4.0",
        "guzzlehttp/guzzle": …
Run Code Online (Sandbox Code Playgroud)

php phpunit laravel

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

laravel - 如何按小时锁定页面

我需要阻止用户从上午 9 点到下午 6 点访问某些页面。

那么,实现这一目标的最佳方法是什么?我应该创建一个中间件吗?还是内核条件?或者向控制器添加条件?

php laravel

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