composer create-project --prefer-dist laravel/laravel blog
[ErrorException]proc_get_status() has been disabled for security reasons
[Symfony\Component\Process\Exception\RuntimeException] The Process class relies on proc_open
打開php.ini文件,搜索 disable_functions,找到以下相似內容:
disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_get_status....
找到 proc_get_status、proc_open 刪除而後重啓php服務;
或者:註釋掉這行;php
# disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_get_status....
Failed to enable crypto failed to open stream: operation failed
更換composer鏡像源,能夠執行嘗試如下幾種:
更換成阿里鏡像:webpack
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
更換成Laravel China鏡像:laravel
composer config -g repo.packagist composer https://packagist.laravel-china.org
更換成中國全量鏡像:git
composer config -g repo.packagist composer https://packagist.phpcomposer.com
UnexpectedValueException The stream or file "../storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
ErrorException (E_WARNING) file_put_contents(../storage/framework/views/f5a79bdb17b116aa71ccd551417888a08e8480aa.php): failed to open stream: Permission denied
以上兩個都是 failed to open stream: Permission denied 意思是沒有權限
chmod -R 777 ./storage/
.env .env.example .gitattributes .gitignore artisan* composer.json composer.lock package.json phpunit.xml readme.md server.php webpack.mix.js app/ // 目錄包含應用程序的核心代碼。你應用中幾乎全部的類都應該放在這裏。稍後咱們會更深刻地瞭解這個目錄的細節。 bootstrap/ // 目錄包含引導框架並配置自動加載的文件。 // 該目錄還包含了一個 cache 目錄,存放着框架生成的用來提高性能的文件,好比路由和服務緩存文件。 config/ // 目錄,顧名思義,包含應用程序全部的配置文件。咱們鼓勵你通讀這些文件,以便幫助你熟悉全部可用的選項。 database/ // 目錄包含數據填充和遷移文件。你還能夠把它做爲 SQLite 數據庫存放目錄。 public/ // 目錄包含了入口文件 index.php,它是進入應用程序的全部請求的入口點。 // 此目錄還包含了一些你的資源文件(如圖片、JavaScript 和 CSS)。 resources/ // 目錄包含了視圖和未編譯的資源文件(如 LESS、SASS 或 JavaScript)。 // 此目錄還包含你全部的語言文件。 routes/ // 目錄包含了應用的全部路由定義, // Laravel 默認包含了幾個路由文件:web.php、api.php、 console.php 和 channels.php。 // web.php 文件包含 RouteServiceProvider 放置在 web 中間件組中的路由, // 它提供會話狀態、CSRF 防禦和 cookie 加密。 // 若是你的應用不提供無狀態的、RESTful 風格的 API,則全部的路由都應該在 web.php 文件中定義。 // api.php 文件包含 RouteServiceProvider 放置在 api 中間件組中的路由,它提供了頻率限制。 // 這些路由都是無狀態的,因此經過這些路由進入應用請求旨在經過令牌進行身份認證,而且不能訪問會話狀態。 // console.php 文件是定義全部基於閉包的控制檯命令的地方。 // 每一個閉包都被綁定到一個命令實例而且容許和命令行 IO 方法進行簡單的交互。 // 儘管這些文件沒有定義 HTTP 路由,但它也將基於控制檯的入口點(路由)定義到應用程序中。 // channels.php 用來註冊你的應用支持的全部的事件廣播渠道的地方。 storage/ // storage 目錄包含編譯的 Blade 模板、基於文件的會話和文件緩存、以及框架生成的其餘文件。 // 這個目錄被細分紅 app、framework 和 logs 三個子目錄。 // app 目錄能夠用來存儲應用生成的任何文件。 // framework 目錄用來存儲框架生成的文件和緩存。 // logs 目錄包含應用的日誌文件。 tests/ vendor/ // 目錄包含了你的 Composer 依賴包
參考地址:https://learnku.com/docs/laravel/5.5/migrations/1329
數據庫遷移就像是數據庫的版本控制,可讓你的團隊輕鬆修改並共享應用程序的數據庫結構。
遷移一般與 Laravel 的數據庫結構生成器配合使用,讓你輕鬆地構建數據庫結構。
若是你曾經試過讓同事手動在數據庫結構中添加字段,那麼數據庫遷移可讓你再也不須要作這樣的事情。web
使用 Artisan 命令 make:migration 來建立遷移:shell
php artisan make:migration create_users_table
新的遷移文件會被放置在 database/migrations 目錄中。
每一個遷移文件的名稱都包含了一個時間戳,以便讓 Laravel 確認遷移的順序。數據庫
遷移類一般會包含兩個方法:up 和 down。
up 方法可爲數據庫添加新的數據表、字段或索引,而 down 方法則是 up 方法的逆操做。
主要字段:https://learnku.com/docs/laravel/5.5/migrations/1329#columnsjson
public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name')->comment('用戶名'); $table->string('pwd')->comment('用戶密碼'); $table->enum('status', ['1', '2', '3', '4'])->default('1')->comment('狀態:1註冊 2激活 3違規 4註銷 默認:1註冊'); $table->timestamp('last')->comment('最後一次登陸時間'); $table->timestamps(); }); }
php artisan migrate
除了在路由文件中以閉包的形式定義全部的請求處理邏輯外,還能夠使用控制器類來組織此類行爲。
控制器可以將相關的請求處理邏輯組成一個單獨的類。
控制器被存放在 app/Http/Controllers 目錄下。
建立對應的控制器:bootstrap
php artisan make:controller UsersController
建立對應的模型層:api
php artisan make:model Users
php artisan make:controller UsersController --resource --model=Users
全部的 Laravel 路由都在 routes 目錄中的路由文件中定義,這些文件都由框架自動加載。
routes/web.php 文件用於定義 web 界面的路由。
這裏面的路由都會被分配給 web 中間件組,它提供了會話狀態和 CSRF 保護等功能。
routes/api.php 文件中的路由都是無狀態的,而且被分配了 api 中間件組。
大多數的應用構建,都是以在 routes/web.php 文件定義路由開始的。
能夠經過在瀏覽器中輸入定義的路由 URL 來訪問 routes/web.php 中定義的路由。