Phpinfo файлын қалай жасауға және PHP ақпаратын тексеруге болады. PHP Attentive info php көмегімен файлдарды тиімді жеткізіңіз

(PHP 3, PHP 4, PHP 5)

phpinfo - PHP туралы көптеген ақпаратты көрсетеді.

Сипаттама

int phpinfo()

Ағымдағы PHP күйі туралы ақпараттың үлкен көлемін көрсетеді. Бұл PHP компиляция опциялары мен кеңейтімдері, PHP нұсқасы, сервер және орта туралы ақпарат (модуль ретінде құрастырылған болса), PHP ортасы, ОЖ нұсқасы, жолдар, негізгі және жергілікті конфигурация опциясының айнымалы мәндері, HTTP және PHP Лицензия тақырыптары туралы ақпаратты қамтиды. Әрбір жүйе әртүрлі конфигурацияланғандықтан, phpinfo() әдетте конфигурация параметрлерін және берілген жүйеде алдын ала анықталған айнымалы мәндердің қолжетімділігін тексеру үшін пайдаланылады. Phpinfo() сонымен қатар маңызды отладка утилитасы болып табылады, өйткені ол барлық EGPCS деректерін (Орта, GET, POST, cookie, сервер). Шығаруды келесілердің біреуін немесе бірнешеуін өту арқылы мамандандыруға болады тұрақтыбит мәндері қосымша қандай параметрде жинақталған. Сондай-ақ операцияны пайдалана отырып, сәйкес тұрақты немесе бит мәндерін біріктіруге болады.

1-кесте. phpinfo() опциялары
Аты (тұрақты) Мән Сипаттама INFO_GENERAL1 Конфигурация жолы, php.ini орны, құрастыру күні, веб-сервер, жүйе, т.б.. INFO_CREDITS2PHP кредиттері 4. Қараңыз. сонымен қатар phpcredits() .INFO_CONFIGURATION4php директиваларының ағымдағы жергілікті және негізгі мәндері. Қараңыз. сондай-ақ ini_get() .INFO_MODULES8 Жүктелген модульдер және олардың сәйкес параметрлері.INFO_ENVIRONMENT16Орта Айнымалы ақпарат, сонымен қатар $_ENV ішінде қол жетімді .INFO_VARIABLES32 EGPCS (Environment, GET, POSTLIABLES.ENFOCie ақпараты). сонымен қатар .INFO_ALL-1Жоғарыда аталғандардың барлығы лицензиялық сұрақ. Бұл әдепкі мән.

Ескертпе: expose_php конфигурация параметрі өшірулі күйіне орнатылғанда көрсетілген ақпарат бөліктері өшіріледі. Бұған PHP және Zend логотиптері мен кредиттері кіреді. Қараңыз. Сондай-ақ

Кез келген бағдарламалық қамтамасыз етувеб-серверінде іске қосқыңыз келетін , ол қанағаттандыруы тиіс белгілі талаптарға ие. Мысалы, WordPress үшін PHP 5.2.4 немесе одан жоғары нұсқасы қажет. Серверге байланысты кейбір PHP параметрлерін өзгертуге болады, басқаларына, керісінше, өзгертуге тыйым салынады, бірақ олардың барлығы туралы ақпаратты phpinfo файлынан табуға болады. Бұл оқулықта сіз phpinfo файлын жасауды және PHP модульдерінің мәндері мен күйін білуді үйренесіз. Бұл max_execution_time, memory_limit, post_max_size және т.б. сияқты хостинг тіркелгісі туралы ақпаратты алу үшін де пайдалы болуы мүмкін.

Бұл нұсқаулықты бастамас бұрын сізге мыналар қажет:

  • Хостингтің басқару тақтасына немесе FTP тіркелгісіне кіру

1-нұсқа - PHP ақпаратын хостингтің басқару тақтасы арқылы тексеру

Hostinger сайтында тіркелгіңіздің PHP ақпаратын мына жерден табуға болады Қосымша → PHP ақпараты. Бұл өте ыңғайлы мүмкіндік, өйткені хостингте қосымша файлдар жасаудың қажеті жоқ.

Осыдан кейін сіз PHP нұсқасы, модульдері және мәндері туралы барлық қажетті ақпараты бар бетке өтесіз. Белгілі бір модульді немесе функцияны іздеу үшін пернелер тіркесімін басу арқылы іздеуді пайдаланыңыз CTRL+F.

Құттықтаймыз! Сіз Hostinger басқару тақтасы арқылы PHP ақпаратыңызға қалай қол жеткізуді үйрендіңіз.

2-нұсқа - phpinfo.php файлын жасау арқылы PHP ақпаратын тексеру

Хостинг платформаңыз көрсетілген мүмкіндікті қолдамаса, алаңдамаңыз 1-нұсқа. Дәл осындай нәтижеге хостинг тіркелгісінде арнайы файл жасау арқылы қол жеткізуге болады. Файл сонымен қатар сіздің PHP туралы барлық ақпаратты көрсетеді және браузер арқылы қол жетімді болады.

2.1-қадам - ​​phpinfo файлын жасаңыз

phpinfo файлын жасаудың бірнеше жолы бар. Бұл оқулықта біз қолданамыз. Дегенмен, сол нәтижеге сіздің файлыңызды жасау арқылы қол жеткізуге болады жергілікті компьютержәне файлды серверге арқылы одан әрі жүктеп салу.

Хостингтің басқару тақтасына кіріп, ашыңыз Файл менеджері . түймешігін басыңыз Жаңа файлжаңа файл жасау үшін.

Бірінші өрісте ол жасалатын жолды көрсетіңіз жаңа файл. Әрі қарай, далада Жаңа файл атауыенгізіңіз phpinfo.php. Көп жағдайда жолды өзгеріссіз қалдыра аласыз /public_html. Бұл жағдайда файл сіздің сайтыңыздың түбірлік каталогында жасалады.

2.2-қадам – Файлды өңдеу

Бұл кезеңде сізде бос файл бар phpinfo.phpкаталогта public_html. Келесі кодты файлға көшіріп, белгішені басыңыз Сақтауэкранның сол жақ бұрышында.

Міне, сіз сәтті құрдыңыз PHP файлыол сіздің барлық PHP опцияларын көрсетеді. Жоғарыда айтылғандай, дәл осындай нәтижеге қол жеткізуге болады:

  1. Кез келген пайдаланыңыз мәтіндік редакторжәне файлды жасаңыз phpinfo.phpкомпьютеріңізде.
  2. Файлға келесі кодты қосыңыз:
  1. Файлды FTP арқылы каталогыңызға жүктеңіз public_html.

2.3-қадам - ​​Браузер арқылы PHP ақпаратын тексеру

Егер бәрі дұрыс орындалса, енді сіз домендік атыңыздың соңына қосу арқылы жасалған файлға қол жеткізе аласыз hpinfo.php. Мысалыға, http://yourdomain.ru/phpinfo.php

Осы бетті браузер арқылы ашқанда ұқсас нәтижені көруіңіз керек:

Бұл бетте сіз барлық PHP параметрлерін көре аласыз.

Қорытынды

Осы оқулықты аяқтай отырып, сіз phpinfo файлын жасауды және ақпаратыңызды тексеруді үйрендіңіз. PHP параметрлері. Бұл ақпаратхостинг параметрлерін білгіңіз келсе немесе белгілі PHP модульдерін қажет ететін бағдарламалық құралды іске қосқыңыз келсе пайдалы.

Егер сізге файлдарды тікелей веб-сервер арқылы емес, одан жіберу қажет болса PHP арқылы(мысалы, жүктеу статистикасын жинау үшін) cat астында өтінеміз.

1. readfile() пайдаланыңыз

Бұл әдістің жақсы жағы - ол қораптан тыс жұмыс істейді. Сізге өзіңіздің файлды жіберу функциясын жазуыңыз керек (ресми құжаттамадан сәл өзгертілген мысал):

Функция file_force_download($file) ( if (file_exists($file)) ( // буферді қалпына келтіріңіз PHP шығысысценарий үшін бөлінген жадтың толып кетуін болдырмау үшін // егер бұл орындалмаса, файл толығымен жадқа оқылады! if (ob_get_level()) ( ob_end_clean(); ) // браузерді файл тақырыбын сақтауға арналған терезені көрсетуге мәжбүрлеу («Content-Description: Файл тасымалдау"); header("Content-Type: application/octet-stream"); ​​the header("Content-Disposition: attachment; filename=". basename($file)); header("Content-Transfer-Coding: Binary) "); header("Мерзімі аяқталады: 0"); header("Кэш-басқару: қайта тексеру керек"); header("Прагма: жалпы"); тақырып("Мазмұн-ұзындығы: " . filesize($file)); // файлды оқыңыз және оны пайдаланушыға жіберіңіз readfile($file); exit; ) )
Тіпті үлкен файлдарды да осылай жіберуге болады, өйткені PHP файлды оқып, оны пайдаланушыға бірден бөліктерге бөледі. Құжаттамада readfile() анық көрсетілген. Міндетті емесесте сақтау проблемаларын тудырады.

Ерекшеліктер:

  • Файл өлшемі 8кБ болатын readfile() функциясының ішкі буферінде оқылады (2fast4rabbit арқасында)

2. Файлды қолмен оқыңыз және жіберіңіз

Жеке файлдан файлдарды жіберу кезінде әдіс бірдей Drupal пайдаланады файлдық жүйе(файлдар сілтемелер арқылы тікелей қолжетімді емес):

Функция file_force_download($file) ( if (file_exists($file)) ( // сценарий үшін бөлінген жадтың толып кетуін болдырмау үшін PHP шығыс буферін қалпына келтіріңіз // бұл орындалмаса, файл толығымен жадқа оқылады! (ob_get_level()) ( ob_end_clean(); ) // браузерді файл тақырыбын сақтауға арналған терезені көрсетуге мәжбүрлеу («Content-Description: File Transfer»); header («Content-Type: application/octet-stream») ;header("Content-Disposition: тіркеме; файл атауы = . basename($file)); header("Content-transfer-кодтау: екілік"); header("Соңы: 0"); header("Кэш- Control: must-revalidate"); header("Pragma: public"); header("Content-Length: " . filesize($file)); // файлды оқыңыз және оны пайдаланушыға жіберіңіз, егер ($fd = fopen). ($файл, "rb")) ( while (!feof($ fd)) ( fread($fd, 1024); ) fclose($fd); ) exit; ) )
Ерекшеліктер:

  • Сценарий бүкіл файл оқылып, пайдаланушыға берілгенше күтеді.
  • Сервер жадын сақтауға мүмкіндік береді

3. Веб-сервер модулін пайдаланыңыз

3а. Апачи
XSendFile модулі файлды Apache-ге арнайы тақырыпты пайдаланып жіберуге мүмкіндік береді. Unix және Windows үшін 2.0.*, 2.2.* және 2.4.* нұсқалары бойынша нұсқалары бар.

Хост параметрлерінде директива арқылы тақырыпты ұстауды қосу керек:
XSendFile қосулы
Сондай-ақ, файлдарды өңдеуге болатын каталогтардың ақ тізімін көрсетуге болады. Маңызды: серверге негізделген болсаңыз Windows жолыбас диск әрпін қамтуы керек.

Әзірлеушінің веб-сайтындағы ықтимал опциялардың сипаттамасы: https://tn123.org/mod_xsendfile/

Файлды жіберу мысалы:

Функция file_force_download($file) (егер (файл_бар($файл)) (тақырып("X-SendFile: " . realpath($file)); тақырып("Мазмұн түрі: қолданба/октет-ағын"); (" Content-Disposition: тіркеме; filename=" . basename($file)); exit; ) )

3б. Nginx
Nginx файлдарды қораптан арнайы тақырып арқылы жібере алады.

Дұрыс жұмыс істеу үшін конфигурация файлы арқылы қалтаға кіруге тыйым салу керек:
орны /қорғалған/ (ішкі; түбір /кейбір/жол; )
Файлды жіберу мысалы (файл /some/path/protected каталогында болуы керек):

Функция file_force_download($file) ( if (file_exists($file)) ( header("X-Accel-Redirect: " . $file); header("Content-Type: application/octet-stream"); ​​тақырып( "Content -Disposition: тіркеме; файл аты=" . basename($file)); exit; ) )
Қосымша ақпаратты ресми құжаттама бетінде

Ерекшеліктер:

  • Сценарий барлық нұсқаулар аяқталғаннан кейін бірден аяқталады
  • Физикалық түрде файлды PHP емес, веб-сервер модулінің өзі жібереді
  • Жад пен сервер ресурстарын минималды тұтыну
  • Максималды өнімділік

Жаңарту: Habrowser ilyaplot қолданба/octet-stream емес, файлдың нақты MIME түрін жіберген дұрыс деп жақсы кеңес береді. Мысалы, бұл браузерге ауыстыруға мүмкіндік береді қажетті бағдарламаларфайлды сақтау диалогтық терезесінде.




Жоғарғы