បញ្ជីអត្ថបទ
ការដោះស្រាយ កំហុស PHP open_basedir នៅក្នុង បន្ទះ VestaCP
តើ PHP open_basedir ជាអ្វី?
- កំណែទម្រង់ការការពារ PHP open_basedir គឺជាវិធានការសុវត្ថិភាពរបៀបសុវត្ថិភាព ដែលការពារអ្នកប្រើប្រាស់ពីការប្រើប្រាស់ PHP ដើម្បីបើកឯកសារ ឬស្គ្រីបដែលមានទីតាំងនៅខាងក្រៅថតផ្ទះរបស់ពួកគេ លុះត្រាតែថតត្រូវបានដកចេញយ៉ាងច្បាស់លាស់។
- ប្រសិនបើអ្នកបើកការកំណត់ PHP open_basedir វានឹងធានាថាប្រតិបត្តិការឯកសារទាំងអស់ត្រូវបានដាក់កម្រិតចំពោះឯកសារនៅក្នុងថតជាក់លាក់មួយ ដូច្នេះការពារស្គ្រីប PHP របស់អ្នកប្រើប្រាស់ជាក់លាក់ពីការចូលប្រើឯកសារនៅក្នុងគណនីអ្នកប្រើប្រាស់ដែលគ្មានការអនុញ្ញាត។
- នៅពេលដែលស្គ្រីបព្យាយាមបើកឯកសារជាមួយឧទាហរណ៍ fopen() ឬ gzopen() ទីតាំងរបស់ឯកសារត្រូវបានធីក។
នេះជាការបង្រៀនជាច្រើនទៀតដែលទាក់ទងនឹងបន្ទះ VestaCP ▼
នៅពេលឯកសារលើសពីមែកធាងថតដែលបានបញ្ជាក់ ឬអនុញ្ញាត PHP នឹងបដិសេធមិនបើកវា ហើយកំហុសស្រដៀងគ្នានឹងបញ្ហាខាងក្រោមអាចកើតឡើង៖
PHP Warning: require(): open_basedir restriction in effect. File(/home/admin/web/project/www/app/autoload.php) is not within the allowed path(s): (/home/admin/web/project/public_shtml:/home/admin/tmp) in /home/admin/web/project/www/web/app.php on line 6 PHP Warning: require(/home/admin/web/project/www/app/autoload.php): failed to open stream: Operation not permitted in /home/admin/web/project/www/web/app.php on line 6 PHP Fatal error: require(): Failed opening required '/home/admin/web/project/www/web/../app/autoload.php' (include_path='.:/usr/share/php') in /home/admin/web/project/www/web/app.php on line 6
ដំណោះស្រាយ
ជំហានទី 1: ចូលប្រើឈ្មោះដែនដែលត្រូវគ្នា "WEB Service"។
ជំហានទី 2: កែប្រែ "គំរូគេហទំព័រ HTTPD"
- សូមផ្លាស់ប្តូរ "គំរូគេហទំព័រ HTTPD" ពី "លំនាំដើម" ទៅ "phpcgi" ▼

ជំហានទី 3: ចាប់ផ្តើមសេវាកម្ម Apache ឡើងវិញដោយប្រើពាក្យបញ្ជាខាងក្រោម ▼
service httpd restart
នេះជា បញ្ហាទូទៅមួយនៅក្នុងប្រព័ន្ធ Linux ។ គ្រាន់តែអនុវត្តតាមជំហានខាងលើ; មិនតម្រូវឱ្យមានការកែប្រែកូដទេ ហើយវាអាចដោះស្រាយបានយ៉ាងរហ័សក្នុងរយៈពេលត្រឹមតែ 3 ជំហានប៉ុណ្ណោះ។ វាសាមញ្ញណាស់! ^_^
ការប្រុងប្រយ័ត្ន។
- កុំជ្រើសរើស "phpfcgid" ព្រោះវាងាយស្រួលប្រើប្រាស់អង្គចងចាំច្រើនពេក ហើយបណ្តាលឱ្យមានកំហុស 500 ញឹកញាប់។
ប្រសិនបើអ្នកទទូចចង់ប្រើគំរូ "phpfcgid" លោក Chen Weiliang ស្នើឱ្យធ្វើការបង្កើនប្រសិទ្ធភាពការកំណត់របស់វាមុនពេលប្រើប្រាស់។ ▼
សង្ឃឹមថា អត្ថបទ "តើធ្វើដូចម្តេចដើម្បីជួសជុលកំហុស PHP open_basedir នៅក្នុងបន្ទះ VestaCP?" ដែលបានចែករំលែកនៅលើ ប្លក់របស់ Chen Weiliang ( https://www.chenweiliang.com/ ) នឹងមានប្រយោជន៍សម្រាប់អ្នក។
សូមចែករំលែកតំណភ្ជាប់អត្ថបទនេះ៖ https://www.chenweiliang.com/cwl-734.html


