使用Mac OS X和Homestead 2.2.1与Laravel 5.2.
在终端(在我的项目文件夹中的宅基地内)我可以做php工匠来查看所有可用的命令.当我尝试运行php artisan migrate时出现连接错误:
SQLSTATE[HY000] [2002] Connection refused
我已经使用这些.env设置 设置了Laravel项目
DB_HOST=127.0.0.1
DB_DATABASE=tcv
DB_USERNAME=homestead
DB_PASSWORD=secret
Run Code Online (Sandbox Code Playgroud)
我还尝试过DB_HOST的localhost和DB_USERNAME以及DB_PASSWORD的root.所有这些可能的变化放在一起!
在Sequel Pro(数据库管理应用程序)中,我可以连接这些设置
Host 127.0.0.1
Username homestead
Password secret
Database tcv
Port 33060
Run Code Online (Sandbox Code Playgroud)
但是这个数据库显然是空的,因为我无法从终端迁移到它...
据我所知,这是一个配置问题,因为我可以使用Sequel Pro连接它.但我老老实实地没有想到什么是错误的设置.
谢谢您的帮助 !!
编辑
由于某种原因,我SQLSTATE[HY000] [2002] Connection refused将项目移动到MAMP并运行php artisan migrate时遇到同样的错误.
现在我完全迷失了......
我有一个已经分配了默认值的表.举个例子,我们可以看看以下内容:
Schema::create('users', function (Blueprint $table) {
$table->increments('id')->unsigned();
$table->integer('active')->default(1);
});
Run Code Online (Sandbox Code Playgroud)
我现在想要在活动字段上更改我的默认值.我期待做这样的事情:
if (Schema::hasTable('users')) {
Schema::table('users', function (Blueprint $table) {
if (Schema::hasColumn('users', 'active')) {
$table->integer('active')->default(0);
}
});
}
Run Code Online (Sandbox Code Playgroud)
但当然它告诉我专栏已经存在.如何在不删除列的情况下简单地更新列x的默认值?
我在启动laravel安装时遇到问题.每当我输入终端'php artisan serve'时它会回复我一个错误:
无法收听本地主机:8000(原因:未确定无法接入,因此无法访问一个0t0 tent0e)
关于如何解决这个问题的任何想法?
提前致谢.
img问题http://i.imgur.com/rOt3Lat.png
它现在可以工作我只是将监听端口从8000更改为8888或您的服务没有使用它的任何其他端口
'php artisan serve --port ="8888"'
我之前没有遇到过这个问题,但是我php artisan tinker发出任何命令都会崩溃 - 并且不会留下任何导致崩溃的日志.
project4 $ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.0 — cli) by Justin Hileman
>>> use \App\Jobs\testJob;
project4 $
Run Code Online (Sandbox Code Playgroud)
甚至是最简单的命令:
project4 $ php artisan tinker
Psy Shell v0.9.9 (PHP 7.3.0 — cli) by Justin Hileman
>>> print("Hello World!");
project4 $
Run Code Online (Sandbox Code Playgroud)
我几乎想知道它是不是正确连接到PHP,但我无法在任何地方找到任何日志.Laravel没有任何命令的痕迹.我跑了brew update,但没有区别.为了记录,我的所有项目都受到了影响.我无法修改我的任何项目.救命!
我最近升级到PHP 7.3.0,这在其他所有领域都运行良好.嗯...
我有一个名为modelsinside 的目录app/,我放置了所有的模型类.现在我想更改以下命令输出生成的类的目录
php artisan make:model SomeModel
Run Code Online (Sandbox Code Playgroud) 我试图在Laravel 5中创建mysql表.我创建了一个/project/database/migrations名为的文件users.php:
[...]
public function up()
{
Schema::create('users', function(Blueprint $table)
{
$table->increments('id');
$table->string('username');
$table->string('fullname');
$table->int('number');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
[...]
Run Code Online (Sandbox Code Playgroud)
然后我尝试在project-folder中运行这些命令:
$ php artisan migrate
$ php artisan migrate:install
$ php artisan migrate --pretend
Run Code Online (Sandbox Code Playgroud)
它们都没有返回任何输出,也没有创建表.要填充的数据库存在.
我有这个DatabaseSeeder.php:
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
class DatabaseSeeder extends Seeder {
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Model::unguard();
$this->call('MemberInvitationSeeder');
}
}
Run Code Online (Sandbox Code Playgroud)
我有这个文件MemberInvitationSeeder.php,兄弟姐妹到DatabaseSeeder.php文件
<?php
use Illuminate\Database\Seeder;
use App\MemberInvitation;
class MemberInvitationSeeder extends Seeder {
public function run()
{
MemberInvitation::truncate();
MemberInvitation::create( [
'id' => 'BlahBlah' ,//com_create_guid(),
'partner_id' => 1,
'fisrt_name' => 'Thats',
'last_name' => 'Me',
'email' => 'me@mymail.com',
'mobile_phone' => '444-342-4234',
'created_at' => new DateTime
] );
}
}
Run Code Online (Sandbox Code Playgroud)
现在我打电话
php artisan db:seed
Run Code Online (Sandbox Code Playgroud)
我得到: …
当我尝试运行时,php artisan db:seed我收到以下错误:
The use statement with non-compound name 'DB' has no effect
我根据文档的片段编写了我自己的播种文件,我在下面列出了该文件.正如您所看到的,我正在使用use DB快捷方式 - 这就是问题所在吗?
<?php
use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;
use DB;
class ClassesTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('classes')->delete();
DB::table('classes')->insert([
'class_name' => 'Test course 111',
'class_id' => '1',
'location_name' => 'Barnes',
'location_id' => '1',
'date' => '2015-06-22',
'month' => '06/2015',
'start_time' => '08:00',
'end_time' …Run Code Online (Sandbox Code Playgroud) 我在本地使用第三方库,我使用他们提供的步骤安装了所有内容.
composer require了包并运行了更新.这安装在vendor文件夹中.providerin中config/app,也作为别名..php artisan vendor:publish --provider="Spatie\LaravelAnalytics\LaravelAnalyticsServiceProvider"了成功创建的配置文件,我没有遇到任何问题.然后我上传到生产环境并不断获取Class 'LaravelAnalytics' not found,我似乎无法弄清楚问题..
我跑了 php artisan vendor:publish --provider="Spatie\LaravelAnalytics\LaravelAnalyticsServiceProvider"
但是我继续说道:Nothing to publish for tag [].这导致我认为这可能是问题,因为包裹没有发布.
我的本地环境是Ubuntu,我的生产环境是CentOS.如果我在我的生产环境中尝试将CD放入该目录,它说无法找到.
因此,对于我如何添加不提取此软件包的提供程序,这可能是一个问题吗?
我试图通过使用来了解工匠命令列表php artisan list.并且命令返回以下错误有
[Dotenv\Exception\InvalidFileException]
Dotenv values containing spaces must be surrounded by quotes.
什么问题?
提前致谢.