လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP နှင့် XVFB Configuration နှင့်လျှောက်လွှာသင်ခန်းစာ - virtual ဖန်သားပြင်များပေါ်တွင်ဂရပ်ဖစ်လုပ်ငန်းများကိုအကောင်အထည်ဖော်ခြင်း

PHP နှင့် XVFB Configuration နှင့်လျှောက်လွှာသင်ခန်းစာ - virtual ဖန်သားပြင်များပေါ်တွင်ဂရပ်ဖစ်လုပ်ငန်းများကိုအကောင်အထည်ဖော်ခြင်း

gitbox 2025-06-18

1 ။ နိဒါန်း

PHP သည်ကျယ်ပြန့်စွာအသုံးပြုသော scripting language ဖြစ်ပြီး Web Development တွင်မကြာခဏအသုံးပြုလေ့ရှိသည်။ ဆာဗာပတ် 0 န်းကျင်တွင်ရုပ်ပိုင်းဆိုင်ရာမျက်နှာပြင်မရှိဘဲ XVFB ကို virtual display ကိုတုပရန်ကိုသုံးနိုင်သည်။ ဤဆောင်းပါးသည် PHP တွင် XVFB ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်နိဒါန်းပေးပါမည်။

2 ။ PHP နှင့် XVFB ကိုတပ်ဆင်ခြင်း

2.1 PHP တပ်ဆင်ခြင်း

PHP ကို ​​install လုပ်ရန်လိုအပ်သောမှီခိုရာစာကြည့်တိုက်အချို့ကိုသင်ထည့်သွင်းရန်လိုအပ်သည်။

 
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 ကို ​​install လုပ်ပါ။

 
sudo apt-get install -y php7.4

GD extension ကိုဥပမာအဖြစ်ယူမှတ်သည့် PHP တိုးချဲ့ထားသောအစိတ်အပိုင်းများကိုထည့်သွင်းရန်လည်းလိုအပ်သည်။

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

2.2 XVFB ကိုတပ်ဆင်ခြင်း

XVFB ကိုတပ်ဆင်ခြင်းသည်အလွန်ရိုးရှင်းပါသည်, အောက်ပါ command ကို Execute:

 
sudo apt-get install -y xvfb

တပ်ဆင်ပြီးပါက XVFB ၏ version အချက်အလက်များကိုအောက်ပါ command မှတဆင့်ကြည့်ရှုနိုင်သည်။

 
Xvfb -version

3 ။ XVFB ကို အသုံးပြု. PHP အစီအစဉ်ကိုအသုံးပြုပါ

3.1 PHP အစီအစဉ်များရေးသားခြင်း

ထို့နောက်ကျွန်ုပ်တို့သည်ရိုးရှင်းသော PHP အစီအစဉ်ကို virtual screen တွင် Screenshots များယူရန်အတွက်ရေးပါလိမ့်မည်။

 
<?php
// ဖြစ်ပေါ်လာခြင်းXvfb
$xvfbProcess = new Process(['Xvfb', ':99', '-screen', '0', '1024x768x24']);
$xvfbProcess->start();
<p>// စောင့်Xvfbstartup ပြည့်စုံသည်<br>
sleep(2);</p>
<p>// စတင်တည်ထောင်သည်Firefoxဘရောင်ဇာ<br>
$firefoxProcess = new Process(['firefox', '--display=:99']);<br>
$firefoxProcess->start();</p>
<p>// စောင့်Firefoxstartup ပြည့်စုံသည်<br>
sleep(10);</p>
<p>// မျက်နှာပြင် screenshot command ကို execute<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 အစီအစဉ်ကို command line တွင် run ရန်သင်၏ဝဘ်ဆာဗာတွင် XVFB နှင့် PHP ကိုမှန်ကန်စွာတပ်ဆင်ထားကြောင်းသေချာစေရန်လိုအပ်သည်။ command ကို run

 
php /var/www/html/screenshot.php

Execution ပြီးနောက်သင်ထုတ်လုပ်ထားသောဖန်သားပြင်ဖိုင် `test.png `png /` `` `` `` directory တွင်တွေ့ရလိမ့်မည်။

4 ။ အကျဉ်းချုပ်

XVFB နှင့် PHP ကိုအသုံးပြုခြင်းအားဖြင့်သင်သည် Graphical Tasks များအတွက်ရုပ်ပိုင်းဆိုင်ရာမော်နီတာမပါဘဲပတ် 0 န်းကျင်ရှိ virtual monitor ကိုဖန်တီးနိုင်သည်။ သို့သော် XVFB သည် Hardware Acceleration ကိုမထောက်ပံ့ပါ။ သင်၏လျှောက်လွှာတွင်စွမ်းဆောင်ရည်မြင့်မားသောလိုအပ်ချက်များရှိပါကအခြားပိုမိုသင့်လျော်သောဖြေရှင်းနည်းများကိုသုံးသပ်ကြည့်ပါ။