개발 및 테스트 중에는 종종 가벼운 MySQL 서버 환경이 필요합니다. PHP 개발자의 경우 MySQLI_DRIVER :: EMBEDDED_SERVER_START는 내장 된 MySQL 서버를 쉽게 시작하는 방법을 제공합니다. 이를 통해 PHP 프로그램에서 로컬 MySQL 인스턴스를 시작, 구성 및 제어 할 수 있습니다. 특히 외부 MySQL 서버없이 데이터베이스 작업이 필요한 시나리오에 대해.
이 기사는 mysqli_driver :: embedded_server_start를 사용하여 내장 된 mysql 서버를 시작하고 실제 개발을 구성하고 디버그하는 방법을 자세히 소개합니다.
내장 된 MySQL 서버는 MySQL 데이터베이스 엔진을 애플리케이션에 포함시키는 방법입니다. 기존 MySQL 서버와 달리 내장 서버에는 독립적 인 프로세스 나 네트워크 연결이 필요하지 않으며 응용 프로그램에서 직접 실행됩니다. 이로 인해 빠른 개발, 독립적 인 운영 또는 쉬운 분포가있는 시나리오에 이상적입니다.
mysqli_driver :: embedded_server_start는 PHP의 MySQLI_DRIVER 클래스의 정적 메소드이며, 내장 된 MySQL 서버를 시작하는 데 사용됩니다. 이 방법을 통해 외부 MySQL 서비스없이 PHP 환경에서 직접 MySQL 데이터베이스를 시작하고 데이터 작업을 수행 할 수 있습니다.
먼저 PHP 환경에서 MySQL 내장 서버를 지원하는지 확인해야합니다. 일반적으로 MySQL 내장 라이브러리는 PHP의 기본 구성이 아니므로 MySQL 내장 라이브러리를 다운로드하여 컴파일해야합니다. 공식 MySQL 웹 사이트에서 관련 라이브러리 파일을 다운로드하여 컴파일 할 수 있습니다. 라이브러리 파일이 PHP의 확장 디렉토리에서 사용할 수 있는지 확인하십시오.
PHP에서 MySQL 내장 지원을 활성화하여 MySQL 내장 라이브러리 확장이 PHP 구성 파일 php.ini 에 올바르게로드되도록합니다. Extension = php_mysqli.dll 을 통해 관련 확장을로드 할 수 있습니다.
다음으로 mysqli_driver :: embedded_server_start를 사용하여 임베디드 MySQL 서버를 시작할 수 있습니다. 간단한 예제 코드는 다음과 같습니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 조사하다 MySQL 내장 된 지원이 활성화되어 있습니까?</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (mysqli_driver::</span><span><span class="hljs-title function_ invoke__">embedded_server_start</span></span><span>()) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"내장 MySQL 서버 시작 성공!\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"启动내장 MySQL 서버가 실패했습니다!\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
이 코드 스 니펫은 embedded_server_start 메소드를 호출하여 MySQL 서버를 시작합니다. 성공적으로 시작되면 성공 메시지가 표시됩니다. 실패하면 오류 메시지가 문제 해결에 도움이됩니다.
임베디드 서버가 시작되면 일반 MySQL 서버와 같은 데이터베이스 작업을 수행 할 수 있습니다. 예를 들어, 데이터베이스, 테이블, 쿼리를 수행하는 등을 만들 수 있습니다. 다음은 데이터베이스 및 테이블을 만드는 방법을 보여주는 간단한 예입니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 启动내장 MySQL 섬기는 사람</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (mysqli_driver::</span><span><span class="hljs-title function_ invoke__">embedded_server_start</span></span><span>()) {
</span><span><span class="hljs-comment">// 연결을 만듭니다</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-string">'testdb'</span></span><span>);
</span><span><span class="hljs-comment">// 조사하다连接</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'연결이 실패했습니다: '</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
}
</span><span><span class="hljs-comment">// 데이터베이스를 만듭니다</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-string">'CREATE DATABASE IF NOT EXISTS testdb'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"데이터베이스 생성 성공!\n"</span></span><span>;
</span><span><span class="hljs-comment">// 데이터 테이블을 만듭니다</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-string">'CREATE TABLE IF NOT EXISTS users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100))'</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"데이터 테이블 생성이 성공적으로!\n"</span></span><span>;
</span><span><span class="hljs-comment">// 연결을 닫으십시오</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"启动내장 MySQL 서버가 실패했습니다!\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
임베디드 MySQL 서버가 더 이상 필요하지 않은 경우 MySQLI_DRIVER :: embedded_server_stop 메소드를 사용하여 서버를 중지 할 수 있습니다. 이 방법은 내장 된 MySQL 서버를 완전히 종료하고 리소스를 해방시킵니다.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 停止내장 MySQL 섬기는 사람</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (mysqli_driver::</span><span><span class="hljs-title function_ invoke__">embedded_server_stop</span></span><span>()) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"내장 MySQL 섬기는 사람已成功停止。\n"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"停止내장 MySQL 서버가 실패했습니다。\n"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
자원 관리 : 내장 서버는 메모리에서 실행되므로 리소스가 올바르게 관리되도록해야합니다. 특히, 시작 및 정지 작업은 반복되지 않도록해야하며 불필요한 오류를 피해야합니다.
성능 고려 사항 : 임베디드 MySQL 서버는 개발 및 테스트에 이상적이지만 성능과 안정성을 높이기 위해 독립형 MySQL 서버를 사용하는 것이 좋습니다.
지원되는 기능 : 임베디드 MySQL 서버는 네트워크 연결, 사용자 인증 등과 같은 모든 MySQL 기능을 지원하지 않으며, 주로 내장 환경에서 간단한 데이터베이스 요구를 충족시킵니다.
크로스 플랫폼 지원 : 내장 된 MySQL 서버는 Windows, Linux 및 MacOS를 포함한 여러 플랫폼에서 실행될 수 있지만 PHP가 올바르게 구성되어 있고 플랫폼 용 MySQL 내장 라이브러리가 있는지 확인해야합니다.
MySQLI_DRIVER :: EMBEDDED_SERVER_START 메소드를 통해 PHP 개발자는 내장 된 MySQL 서버를 로컬로 쉽게 시작할 수 있습니다. 이는 개발 및 테스트를 용이하게 할뿐만 아니라 개발자가 복잡한 외부 데이터베이스 서비스를 구성하지 않도록 도와줍니다. 내장 된 MySQL 서버는 가벼운 응용 프로그램에 적합하지만 표준 MySQL 서버는 여전히 생산 환경에서 고려됩니다.
관련 태그:
MySQL