현재 위치: > 최신 기사 목록> PHP 및 XVFB 구성 및 응용 프로그램 자습서 : 가상 화면에서 그래픽 작업 구현

PHP 및 XVFB 구성 및 응용 프로그램 자습서 : 가상 화면에서 그래픽 작업 구현

gitbox 2025-06-18

1. 소개

PHP는 널리 사용되는 스크립팅 언어이며 종종 웹 개발에 사용되는 반면 XVFB (X Virtual FrameBuffer)는 가상 디스플레이 도구입니다. 실제 디스플레이가없는 서버 환경에서 XVFB를 사용하여 가상 디스플레이를 시뮬레이션하여 그래픽 인터페이스가 필요한 작업을 완료 할 수 있습니다. 이 기사에서는 PHP에서 XVFB를 사용하는 방법에 대한 자세한 소개를 제공합니다.

2. PHP 및 XVFB 설치

2.1 PHP 설치

PHP를 설치하려면 먼저 필요한 종속성 라이브러리를 설치해야합니다.

 
sudo apt-get install -y build-essential
sudo apt-get install -y libxml2-dev
sudo apt-get install -y libcurl4-openssl-dev
sudo apt-get install -y libjpeg-dev libpng-dev libfreetype6-dev libssl-dev

다음으로 PHP 설치 :

 
sudo apt-get install -y php7.4

또한 GD 확장자를 예로 들어 PHP 확장 구성 요소를 설치해야합니다.

 
sudo apt-get install -y php7.4-gd

2.2 XVFB 설치

XVFB 설치는 매우 간단합니다. 다음 명령을 실행하십시오.

 
sudo apt-get install -y xvfb

설치가 완료되면 다음 명령을 통해 XVFB의 버전 정보를 볼 수 있습니다.

 
Xvfb -version

3. XVFB를 사용하여 PHP 프로그램을 실행하십시오

3.1 PHP 프로그램 작성

다음으로 가상 화면에서 스크린 샷을 찍기위한 간단한 PHP 프로그램을 작성합니다.

 
<?php
// 초기화Xvfb
$xvfbProcess = new Process(['Xvfb', ':99', '-screen', '0', '1024x768x24']);
$xvfbProcess->start();
<p>// 기다리다Xvfb스타트 업이 완료되었습니다<br>
sleep(2);</p>
<p>// 시작Firefox브라우저<br>
$firefoxProcess = new Process(['firefox', '--display=:99']);<br>
$firefoxProcess->start();</p>
<p>// 기다리다Firefox스타트 업이 완료되었습니다<br>
sleep(10);</p>
<p>// 스크린 샷 명령을 ​​실행하십시오<br>
$screenshotProcess = new Process(['firefox-esr', '--display=:99', '--screenshot', '/var/www/html/test.png']);<br>
$screenshotProcess->run();</p>
<p>// 폐쇄Firefox<br>
$firefoxProcess->stop();</p>
<p>// 폐쇄Xvfb<br>
$xvfbProcess->stop();<br>

3.2 PHP 프로그램 실행

명령 줄 에서이 PHP 프로그램을 실행하려면 웹 서버에 XVFB 및 PHP가 올바르게 설치되어 있는지 확인해야합니다. 명령 실행 :

 
php /var/www/html/screenshot.php

실행 후 생성 된 스크린 샷 파일`test.png`가`/var/www/html/`디렉토리에 표시됩니다.

4. 요약

XVFB 및 PHP를 사용하면 그래픽 작업을위한 물리적 모니터없이 환경에서 가상 모니터를 시뮬레이션 할 수 있습니다. 그러나 XVFB는 하드웨어 가속을 지원하지 않으며 실제 그래픽 인터페이스에 비해 성능이 감소합니다. 응용 프로그램에 고성능 요구 사항이있는 경우 다른보다 적합한 솔루션을 고려하십시오.