小编Chr*_*gia的帖子

如何在我的环境中为新站点刷新宅基地?

我在家用开发机器(Mac)上运行Laravel 4并享受它到目前为止但在添加新站点时遇到了麻烦.问题是我在〜/ .homestead/Homestead.yaml文件中为这个新站点添加了这样的行:

folders:
    - map: ~/Sites
      to: /home/vagrant/Sites

sites:
    - map: listingnaples.dev
      to: /home/vagrant/Sites/listingnaples.com/public

    - map: videocraftersusa.dev
      to: /home/vagrant/Sites/videocraftersusa.com/
Run Code Online (Sandbox Code Playgroud)

然后,我的/ etc/hosts看起来像这样:

# MY SITES
192.168.10.10 listingnaples.dev
192.168.10.10 videocraftersusa.dev
192.168.10.10 laneyandchris.dev
Run Code Online (Sandbox Code Playgroud)

如果我进去做一个homestead destroy后来homestead up我可以访问任何这些新网站.这删除了我的数据库,真的让我回头.如何"刷新"可以这么说?如果我将myawesomesite.dev添加到我的/ etc/hosts,我怎样才能让宅基地拿起它?

我试过homestead --provision但这不是一个公认的命令.

对于它的价值,在我的〜/ .homestead /目录中,我没有VagrantFile.不知道那是在哪里,所以我也不能运行流浪者条款.

vagrant laravel laravel-4

10
推荐指数
3
解决办法
8686
查看次数

如何使用Laravel的块来避免内存不足?

我从临时表中提取大约10万条记录,对数据进行一些细微修改,下载照片,然后将需要保存的字段放在"主"表中.这很快导致我的应用程序因内存不足而崩溃.

我阅读了关于使用chunk()和Laravel雄辩的ORM的非常简短的文档,但是不知道如何在我的课堂上开始实现它.

这是我目前正在做的事情:

    public function fire()
{
    // Turn off query logging
    DB::connection()->disableQueryLog();

    $feeds = RetsFeed::where('active','=',1)->get();
    foreach ($feeds as $feed)
    {

        $class = "TempListing{$feed->board}";

        $listings = $class::orderBy('MatrixModifiedDT','desc')->get();

        $listings->each(function($listing) use ($feed) {
            ListingMigrator::migrateListing($listing,$feed);
            echo "Feed: $feed->board\r\n";
            echo "SubcondoName: $listing->SubCondoName\r\n";
            echo "Development: $listing->Development\r\n";
            echo "\r\n";
        });
    }

}
Run Code Online (Sandbox Code Playgroud)

每个提要(或数据源)都被转储到不同家务中的临时表中.这很好.然后,我从一个表中获取所有hte列表(平均大约30k)并运行我的ListingMigrator方法.

在这个例子中我把块放在哪里?它会取代这条线:

$listings = $class::orderBy('MatrixModifiedDT','desc')->get();
Run Code Online (Sandbox Code Playgroud)

我并不完全理解雄辩文档中的结束.这就是他们要说的全部内容,这里是Laravel网站的代码示例:

    User::chunk(200, function($users)
{
    foreach ($users as $user)
    {
        //
    }
});
Run Code Online (Sandbox Code Playgroud)

php mysql laravel eloquent laravel-4

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

对于整数并允许为null的MySQL列,整数值''是否不正确?

我正在努力将CSV插入表格中.我对CSV中的内容没有任何控制权,而且很多字段都是空白的.例如,在我的第一个记录中,字段"baths_full"只是空的(两个逗号背靠背).

在运行MySQL 5.5.37的生产服务器上,它将记录baths_full作为空字段插入.在运行MySQL 5.6.19的本地计算机上,它给出了错误:

[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'baths_full' at row 1 (SQL: insert into `listings_queue` (`
Run Code Online (Sandbox Code Playgroud)

奇怪的是,表的模式是相同的.实际上,我使用生产机器的导出来创建本地数据库.

该字段baths_full设置为TinyInt,unsigned,allow null,默认为null.要添加的一件事是它看起来像在Laravel正在创建的SQL插入语句中,它将空值视为空格.无论如何,我的生产机器运行脚本没有问题,但在本地它不会运行.

php mysql sql laravel laravel-4

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

本地和生产的Laravel环境文件可能无法正常工作?

在Laravel 4中,我正在设置我的本地开发机器(我的笔记本电脑),然后我有我的生产服务器.

在我的/bootstrap/start.php中

$env = $app->detectEnvironment(array(

'local'      => array('MacBook-Pro-2.local'),
'production' => array('ripken'),

));
Run Code Online (Sandbox Code Playgroud)

然后我在我的根目录中创建了一个.env.local.php,其中包含以下内容:

<?php

return [

// Database Connection Settings
'db_host'     => '127.0.0.1',
'db_name'     => 'censored',
'db_user'     => 'censored',
'db_password' => 'censored'

];
Run Code Online (Sandbox Code Playgroud)

那部分有效.但是,我去了我的生产服务器并创建了同样的文件,名为.env.production.php,并且它没有加载该文件中的变量.我不知道是什么让我想到这样做,但我重命名了文件.env.php而没有"生产"的名称,它的工作原理.

因此,我的问题是,为什么.env.production.php不起作用?我认为这就是Laravel的好人们想要我命名我的各种环境文件.

laravel laravel-4

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

适用于 Laravel 的 AWS 开发工具包出现 PHP 致命错误

我安装了https://github.com/aws/aws-sdk-php-laravel?SDK 并按照 readme.md 中的说明进行操作。一切都安装好了,我把我的密钥、秘密、地区等放在/app/config/packages/aws/aws-sdk-php-laravel.

我得到的错误

PHP Fatal error:  Class 'Aws\Common\Aws' not found in /Volumes/Data/Users/chris/Sites/ln.com/vendor/aws/aws-sdk-php-laravel/src/Aws/Laravel/AwsServiceProvider.php on line 48
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Aws\\Common\\Aws' not found","file":"\/Volumes\/Data\/Users\/chris\/Sites\/ln.com\/vendor\/aws\/aws-sdk-php-laravel\/src\/Aws\/Laravel\/AwsServiceProvider.php","line":48}}
Run Code Online (Sandbox Code Playgroud)

上面引用的那个文件的第 48 行简单地说:

$aws = Aws::factory($config);
Run Code Online (Sandbox Code Playgroud)

我按照说明安装

我把我的提供者和别名放在 /app/config/app.php 中:

'Aws\Laravel\AwsServiceProvider'
Run Code Online (Sandbox Code Playgroud)

在提供者数组中。

我输入:

'AWS' => 'Aws\Laravel\AwsFacade'
Run Code Online (Sandbox Code Playgroud)

在别名部分。

然后,我尝试使用他们相同的用法示例:

    $s3 = AWS::get('s3');
$s3->putObject(array(
    'Bucket'    => 'My Bucket',
    'Key'       => 'My Key',
    'SourceFile'=> Config::get('settings.ProcessListings.image_dir') . $listing->mls_listing_id . "/test.txt"
                ));
Run Code Online (Sandbox Code Playgroud)

我试过的

我唯一的想法是在我试图在其中使用 SDK 的文件中,在顶部我有:

    use Illuminate\Console\Command;
    use Symfony\Component\Console\Input\InputOption;
    use Symfony\Component\Console\Input\InputArgument;
Run Code Online (Sandbox Code Playgroud)

我补充说:

use Aws\Laravel\AwsFacade;
use Aws\Laravel\AwsServiceProvider;
Run Code Online (Sandbox Code Playgroud)

和两者的组合,但都不起作用。有任何想法吗?

php sdk amazon-s3 amazon-web-services laravel

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

在 Vagrant 中安装了不同的发行版。现在无法通过 SSH 连接到 MySQL

我使用的是 Ubuntu precision32 并切换到 14.04。我使用 Jeffrey Way 的设置(https://github.com/JeffreyWay/Vagrant-Setup)并且有效。我可以执行“vagrant ssh”并登录,然后使用用户名/密码 root/root 登录到 root。

当我尝试将 Sequel Pro 用于 GUI 时,出现以下错误:

Used command:  /usr/bin/ssh -v -N -o ControlMaster=no -o ExitOnForwardFailure=yes -o ConnectTimeout=10 -o NumberOfPasswordPrompts=3 -i /Users/chrisfarrugia/.vagrant.d/insecure_private_key -o TCPKeepAlive=no -o ServerAliveInterval=60 -o ServerAliveCountMax=1 -p 2222 vagrant@127.0.0.1 -L 52688/127.0.0.1/3306 -L 52689/127.0.0.1/3306

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 2222.
debug1: fd 3 clearing O_NONBLOCK
debug1: …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-keys vagrant sequelpro

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