3
내 공유 웹 호스트는 쿼리 준비에 몇 가지 문제가 있으며 PDO의 에뮬레이트 된 준비를 사용하고 싶습니다.이 옵션은 config\database.php
에 없습니다.Laravel에서 기본 PDO 구성을 변경하십시오.
내가 Laravel에서 할 수있는 방법이 있습니까?
내 공유 웹 호스트는 쿼리 준비에 몇 가지 문제가 있으며 PDO의 에뮬레이트 된 준비를 사용하고 싶습니다.이 옵션은 config\database.php
에 없습니다.Laravel에서 기본 PDO 구성을 변경하십시오.
내가 Laravel에서 할 수있는 방법이 있습니까?
당신은 설정/database.php 내에 데이터베이스 연결에 옵션을 추가 할 "옵션"배열을 추가 할 수 있습니다
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
// Additional options here
'options' => [PDO::ATTR_EMULATE_PREPARES => true, PDO::MYSQL_ATTR_COMPRESS => true,]
],
당신은 내가 아니라 내 연결 MYSQL_ATTR_COMPRESS에 전환했습니다 볼 수 있습니다.
당신은 그들이 여기에 내장 한 일부 옵션에 대한 자세한 정보를 찾을 수 있습니다:
https://github.com/laravel/framework/blob/master/src/Illuminate/Database/Connectors/Connector.php
감사합니다, 나는 laravel 같은 오픈 소스 일 뒤에 코드를보고 사랑, 어떻게 당신은 해당 파일을 찾을 않았다 ? – Webinan
공간을 절약하기 위해 나는 당신과 다른 사람들을 위해 Gist를 만들었습니다. https://gist.github.com/justinobb/25995796ed1a8aa157b578c999544aa2. 귀하의 질문의 경우, 나는 "API Documentation"페이지를 통해 검색 한 Illuminate/Database/Connectors 밑의 공통 DB 커넥터 클래스 인 "Connector"를 검색했습니다. 다행히 도울 수있어. 소스 코드 검색을 즐기십시오! –
ATTR_EMULATE_PREPARES => true로 설정하면 데이터베이스 출력이 문자열 화됩니다. 예를 들어, tinyint는 문자열로 나타납니다. – buzkall