Како да креирате датотека Phpinfo и да ги проверите информациите за PHP. Доставувајте датотеки ефикасно користејќи PHP Внимателни информации php

(PHP 3, PHP 4, PHP 5)

phpinfo - прикажува многу информации за PHP.

Опис

int phpinfo ()

Прикажува голема количина на информации за моменталниот статус на PHP. Ова вклучува информации за опциите и наставките за компилација на PHP, PHP верзијата, серверот и информациите за околината (ако се компајлирани како модул), PHP-околината, верзијата на ОС, патеките, променливите за главната и локалната конфигурација, заглавијата на лиценцата HTTP и PHP. Бидејќи секој систем е конфигуриран различно, phpinfo() обично се користи за проверка на поставките за конфигурација и достапноста на претходно дефинираните променливи на даден систем. Phpinfo() е исто така важна алатка за дебагирање, бидејќи ги содржи сите EGPCS податоци (Environment, GET, POST, колаче, сервер). Излезот може да се специјализира со полагање на едно или повеќе од следниве постојанабитните вредности сумирани во опционалниот кој параметар. Можете исто така да комбинирате соодветни константни или битови вредности користејќи ја операцијата.

Табела 1. Опции phpinfo ()
Име (константа) Вредност Опис INFO_GENERAL1 Низа за конфигурација, локација php.ini, датум на изградба, веб-сервер, систем итн.INFO_CREDITS2PHP кредити 4.Види. исто така phpcredits() .INFO_CONFIGURATION4Тековни локални и мајсторски вредности на php директивите.Види. исто така ini_get() .INFO_MODULES8 Вчитани модули и нивните соодветни поставки.INFO_ENVIRONMENT16Информации за променливата околина, достапни и во $_ENV .INFO_VARIABLES32 Ги прикажува сите предефинирани променливи од EGPCS (Environment. исто така лиценца faq .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.

Секоја чест! Научивте како да пристапите до вашите php информации преку контролната табла на Hostinger.

Опција 2 - Проверка на информации за PHP со создавање на датотека phpinfo.php

Не грижете се ако вашата платформа за хостирање не ја поддржува функцијата прикажана во Опција 1. Истиот резултат може да се постигне со создавање специјална датотека во вашата хостинг сметка. Датотеката исто така ќе ги прикаже сите информации за вашиот PHP и ќе биде достапна преку прелистувачот.

Чекор 2.1 - Креирајте датотека phpinfo

Постојат неколку начини да креирате датотека phpinfo. Во ова упатство ќе користиме . Сепак, истиот резултат може да се постигне со создавање датотека на вашиот локален компјутери дополнително поставување на датотеката на серверот преку .

Најавете се на контролната табла за хостирање и отворете Менаџер на датотеки . Кликнете на копчето Нова датотекада креирате нова датотека.

Во првото поле, наведете ја патеката каде што ќе се креира нова датотека. Следно, на терен Ново име на датотекавнесете phpinfo.php. Во повеќето случаи, можете да ја оставите патеката непроменета /public_html. Во овој случај, датотеката ќе биде креирана во root директориумот на вашата страница.

Чекор 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(на пример, за собирање статистика за преземање), ве молиме под мачка.

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"); ​​'header("Content-Disposition: attachment; filename=" . basename($file)); header("Content-Transfer-Encoding: бинарно ") ; header ("Истекува: 0"); header("Cache-Control: must-revalidate"); header("Pragma: public"); header("Content-Length: " . file size($file)); // прочитајте ја датотеката и испратете ја до корисникот readfile($file); излез; ) )
Дури и големи датотеки може да се испраќаат на овој начин, бидејќи PHP ќе ја прочита датотеката и веднаш ќе ја даде на корисникот на делови. Во документацијата јасно се наведува дека readfile() не требасоздаваат проблеми со меморијата.

Особености:

  • Датотеката се чита во внатрешниот бафер на функцијата readfile(), чија големина е 8 kB (благодарение на 2fast4rabbit)

2. Прочитајте ја и испратете ја датотеката рачно

Методот го користи истиот Друпал кога испраќа датотеки од приватна датотечен систем(датотеките не се достапни директно преку врски):

Функција file_force_download($file) ( if (file_exists($file)) ( // ресетирајте го излезниот бафер на PHP за да избегнете прелевање на меморијата доделена за скриптата // ако тоа не е направено, датотеката ќе се чита целосно во меморијата! ако (ob_get_level()) ( ob_end_clean(); ) // принудете го прелистувачот да го прикаже прозорецот за зачувување на заглавието на датотеката („Содржина-Опис: Пренос на датотеки“); заглавие („Тип на содржина: апликација/октет-стрим“) ; 'header("Content-Disposition: attachment; filename =" . basename($file)); header("Content-Transfer-Encoding: binary"); header("Истекува: 0"); header("Cache- Контрола: мора повторно да се потврди"); заглавие ("Прагма: јавно"); заглавие ("Должина на содржина: " . големина на датотека ($датотека)); // прочитајте ја датотеката и испратете ја до корисникот ако ($fd = fopen ($датотека, „rb“)) ( while (!feof($ fd)) ( print fread($fd, 1024); ) fclose($fd); ) излез; ) )
Особености:

  • Скриптата чека додека не се прочита целата датотека и му се даде на корисникот.
  • Ви овозможува да зачувате меморија на серверот

3. Користете го модулот за веб -сервер

3а. Апачи
Модулот XSendFile ви овозможува да испратите датотека до самиот Apache користејќи специјално заглавие. Постојат верзии за Unix и Windows, под верзии 2.0.*, 2.2.* и 2.4.*

Во поставките на домаќинот, треба да овозможите пресретнување на заглавието користејќи ја директивата:
Вклучено XSendFile
Можете исто така да наведете бела листа на директориуми во кои датотеките може да се обработуваат. Важно: Ако имате сервер базиран патека на WindowsМора да вклучува буква со големи букви.

Опис на можните опции на веб-страницата на развивачот: https://tn123.org/mod_xsendfile/

Пример за испраќање датотека:

Функција file_force_download ($датотека) (ако (датотеката_постои ($датотека)) (заглавие ("X-SendFile: " . realpath($file)); заглавие ("Content-Type: application/octet-stream"); ​​Заглавие (" Content-Disposition: attachment; filename=" . basename($file)); излез; ) )

3б. Нгинкс
Nginx може да испраќа датотеки надвор од кутијата преку специјално заглавие.

За правилно функционирање, треба да го одбиете пристапот до папката директно преку конфигурациската датотека:
локација /заштитена/ (внатрешно; корен /некоја/патека; )
Пример за испраќање датотека (датотеката мора да биде во директориумот /some/path/protected):

Функција file_force_download($file) ( if (file_exists ($file)) ( header ("X-Accel-Redirect: " . $file); header ("Content-Typ: application/octet-stream"); ​​Заглавие( "Content -Disposition: attachment; filename=" . basename($file)); излез; ) )
Повеќе информации на официјалната страница за документација

Особености:

  • Скриптата завршува веднаш откако ќе се завршат сите инструкции
  • Физички, датотеката се испраќа од самиот модул на веб-серверот, а не од PHP
  • Минимална потрошувачка на меморија и ресурси на серверот
  • Максимални перформанси

Ажурирање: Habrowser ilyaplot дава добар совет дека е подобро да не се испрати апликација/октет-стрим , туку вистинскиот мимички тип на датотеката. На пример, ова ќе му овозможи на прелистувачот да замени потребни програмиво дијалогот за зачувување на датотеката.




Врв