當我們使用 migrate 出現以下訊息:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
這個問題出現在Laravel 5.4版本之後,調整方式如下
解決方式(一):
在 migrate 中使用 unique() 時指定長度為191,必須修改每一個有使用到 unique() 的migrate檔案
$table->string('email', 191)->unique();
解決方式(二):
編輯 app\Providers\AppServiceProvider.php 增加
use Schema;
並在boot funciton內增加
Schema::defaultStringLength(191);
完整程式碼如下:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Schema;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
}
在伺服器上的資料夾權限設定,經常有許多人會將權限設定到777 這是風險非常大的一件事情!那該如何設定呢?
Composer update 出現 proc_open(): fork failed - Cannot allocate memory
PHP 出現 No such file or director問題,問題在於伺服器沒有辦法找到你所指定開啟的檔案或目錄
Laravel 部署時發生Error竟然是版本所造成的
更新 composer 依然無法解決 No such file or directory 問題嗎?深入問題解決。