PHP 개발 중에는 데이터베이스 연결, 캐싱, 이미지 처리 등과 같은 작업을 단순화하기 위해 일반적으로 사용되는 일부 확장 기능이 종종 필요합니다. 이러한 확장은 응용 프로그램의 초기화 단계에서 후속 코드에서 올바르게 작동하도록하려면로드 및 구성해야합니다. 이 기사는 PHP의 초기 기능을 통해 일반적으로 사용되는 확장을 초기화하고 실제 예를 보여주는 방법을 소개합니다.
PHP에서 확장은 일반적으로 PHP 구성 파일 ( php.ini )에서 구성되지만 경우에 따라 코드를 통해 확장을 동적으로로드해야 할 수도 있습니다. PHP의 Extension_loaded 함수를 사용하여 확장자가로드되었는지 확인할 수 있습니다. 로드되지 않은 경우 DL 기능을 통해 동적으로로드 할 수 있습니다.
function init() {
// 일반적으로 사용되는 점검 및로드 PHP 펼친
if (!extension_loaded('mysqli')) {
dl('mysqli.so');
}
if (!extension_loaded('curl')) {
dl('curl.so');
}
if (!extension_loaded('gd')) {
dl('gd.so');
}
// 其他펼친的加载逻辑...
}
일부 환경에서는 반드시 코드의 확장을 매번로드하고 싶을 필요는 없지만 Php.ini 구성 파일을 통해 직접로드 해야하는 확장자를 지정합니다. 이는 코드의 중복을 줄이고 응용 프로그램이 시작될 때 필요한 확장을 자동으로로드합니다.
php.ini 에서는 다음과 같은 방식으로 로딩 확장을 지정할 수 있습니다.
extension=mysqli
extension=curl
extension=gd
PHP 환경에서 동적 확장로드를 지원하는 경우 Php.ini 의 Extension_dir를 통해 확장자가 위치한 디렉토리를 지정할 수도 있습니다.
때로는 확장을로드하는 것 외에도 데이터베이스 연결 구성, 캐시 서버, 이미지 처리 기본 설정 등과 같은 Init Function에서 일부 초기화 구성을 수행해야합니다. 여기에는 확장자로드를 결합하고 시작 기능에서 구성을 초기화하는 방법을 보여주는 예입니다.
function init() {
// 확인 및로드 mysqli 펼친
if (!extension_loaded('mysqli')) {
dl('mysqli.so');
}
// 데이터베이스 연결을 구성하십시오
$mysqli = new mysqli("localhost", "user", "password", "database");
// 확인 및로드 curl 펼친
if (!extension_loaded('curl')) {
dl('curl.so');
}
// 구성 Curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://gitbox.net/api/data");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
// 확인 및로드 GD 펼친
if (!extension_loaded('gd')) {
dl('gd.so');
}
// 구성图片处理
$image = imagecreate(100, 100);
$background_color = imagecolorallocate($image, 255, 255, 255);
imagepng($image, '/tmp/sample.png');
}
이 예에서는 확장자를로드 할뿐만 아니라 PHP 기능을 통해 데이터베이스 연결 및 CURL 요청을 초기화합니다. 이러한 모든 작업은 INT 기능에서 수행 할 수 있으므로 이러한 기능을 응용 프로그램 라이프 사이클 전체에서 직접 사용할 수 있습니다.
확장을 수동으로로드하는 것 외에도 작곡가를 사용하여 PHP 프로젝트에 대한 종속성을 관리 할 수도 있습니다. Composer는 특정 PHP 확장에 의존하는 라이브러리를 지정하기위한 확장 접두사를 제공합니다. 예를 들어, CURL 확장과 관련된 라이브러리를 설치 해야하는 경우 다음 명령을 사용할 수 있습니다.
composer require ext-curl
이렇게하면 라이브러리가 설치되면 컬 확장이 올바르게 설치되어 활성화되었습니다.
확장 기능이로드되지 않음 : 확장자가로드되지 않은 경우 php.ini 구성 파일이 올바르게 설정되지 않았거나 PHP를 설치할 때 확장자가 컴파일되지 않았기 때문일 수 있습니다. phpinfo () 의 출력을 확인하여 시스템에 확장이 설치되어 있는지 확인하십시오.
연장 충돌 : GD 및 Imagick 확장과 같은 여러 연장선이 충돌 할 수 있습니다. 확장을 비활성화하거나 관련 매개 변수를 구성하여 충돌 문제를 해결할 수 있습니다.
PHP에서 일반적으로 사용되는 확장을 초기화하는 것은 매우 중요하며 응용 프로그램이 시작될 때 필요한 환경을 구성하는 데 도움이 될 수 있습니다. 개발자는 php.ini를 통해 시작 함수 또는 정적 구성을 통해 내선을 동적으로로드하여 응용 프로그램이 원활하게 실행될 수 있도록 할 수 있습니다. 보다 복잡한 종속성 관리를 위해 Composer는 개발자가 확장 및 종속성을 쉽게 관리 할 수 있도록 강력한 지원을 제공합니다.