php ini — How can I know which ‘php.ini’ file is used? — Stack Overflow

php ini - How can I know which 'php.ini' file is used? - Stack Overflow Хостинг
Содержание
  1. Первоначальная настройка vds
  2. Additional modules
  3. Allow_url_include
  4. Apc.cache_by_default
  5. Default_charset
  6. Display_errors
  7. Error handling directives
  8. Error_reporting
  9. File upload directives
  10. Fileinfo
  11. Imagick
  12. Important settings in php.ini
  13. Interbase
  14. Libxml
  15. Magic_quotes_gpc
  16. Max_execution_time
  17. Max_input_time
  18. Max_input_vars
  19. Mbstring.func_overload и mbstring.internal_encoding
  20. Memcache
  21. Memcached
  22. Memory_limit
  23. Miscellaneous directives
  24. Mysqli
  25. Opcache.revalidate_freq
  26. Pcre.recursion_limit
  27. Pdo_dblib
  28. Pdo_firebird
  29. Pdo_odbc
  30. Pdo_pgsql
  31. Pdo_sqlite
  32. Php: установка — manual
  33. Phpinfo
  34. Posix
  35. Recode
  36. Reflection
  37. Register_globals
  38. Request_order
  39. Security directives
  40. Session directives
  41. Session.auto_start
  42. Session.name
  43. Simplexml
  44. Standard
  45. Sysvmsg
  46. The best php scripts on codecanyon
  47. Tokenizer
  48. Upload_max_filesize
  49. Внесение настроек в файл php.ini
  50. Где найти файл php.ini?
  51. Добавление нового пользователя
  52. Добавление нового хоста nginx
  53. Добавление новой базы данных
  54. Индексная страница по умолчанию
  55. Инструкция по настройке vds: базовая конфигурация и работа с lemp
  56. Как посмотреть параметры php без панели joomla
  57. Кодировка
  58. Конфигурация php
  59. Настройка mysql
  60. Настройка php на хостинге через файл php.ini
  61. Настройка опций в файле .htaccess
  62. Настройка параметров
  63. Настройка параметров php
  64. Общие сведения
  65. Ограничения по видам запросов
  66. Опции, которые не могут быть изменены
  67. От автора
  68. Отображение листинга (содержимого директории)
  69. Параметры php
  70. Передача привилегий root
  71. Перенаправления
  72. Посмотреть параметры php в административной панели joomla
  73. Похожие вопросы
  74. Прямой эфир
  75. Собственные страницы ошибок
  76. Создание phpinfo-скрипта
  77. Создание директории
  78. Создание и редактирование .htaccess
  79. Управление ssh
  80. Управление доступом к сайту
  81. Установка mysql
  82. Установка nginx
  83. Установка php
  84. Установка и настройка lemp
  85. Файл php.ini
  86. Conclusion
  87. Calendar

Первоначальная настройка vds

Обновление программного обеспечения

Начинать настройку VDS необходимо с глобального обновления. Запустить апдейт в Debian-подобных операционных системах можно следующим образом:

В процессе обновления вас спросят о том, хотите ли вы установить новые пакеты. Отвечайте утвердительно, используя клавишу Y, и подтвердите свой выбор, нажав “Enter”.

Additional modules

  • 0: Module Name
  • 1: ionCube Loader

Allow_url_include

The allow_url_include directive is similar to the allow_url_fopen directive, but it enables remote file inclusion in include functions. It allows you to include remote files in the include, include_once, require, and require_once functions.

If you want to enable this directive, you need to make sure that you’ve enabled the allow_url_fopen directive as well.

Apc.cache_by_default

APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.

Отключение APC (для включения значение = 1):

Default_charset

Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.

Display_errors

The display_errors directive allows you to control whether errors are displayed on the screen during script execution. You can set it to On if you want errors to be displayed on the screen and Off if you want to disable it.

Error handling directives

In this section, we’ll go through directives that are related to error handling and are useful for debugging during development.

Error_reporting

This directive allows you to set the error reporting level. Mostly, this directive works in conjunction with the display_errors directive. This directive can accept E_ALL, E_NOTICE, E_STRICT, and E_DEPRECATED constants.

You can set it to E_ALL if you want to display all types of errors like fatal errors, warnings, deprecated functions, etc. You can also combine the different values if you want to filter out specific errors. For example, if you want to display all errors except notices, you can set it to E_ALL & ~E_NOTICE.

File upload directives

In this section, we’ll see a couple of important directives that allow you to enable file uploading capabilities in your PHP forms.

Fileinfo

  • fileinfo support: enabled
  • version: 1.0.5
  • libmagic: 522

Imagick

  • imagick module: enabled
  • imagick module version: 3.4.3RC3
  • imagick classes: Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator
  • Imagick compiled with ImageMagick version: ImageMagick 6.7.7-10 2022-07-31 Q16 http://www.imagemagick.org
  • Imagick using ImageMagick library version: ImageMagick 6.7.7-10 2021-11-25 Q16 http://www.imagemagick.org
  • ImageMagick copyright: Copyright (C) 1999-2022 ImageMagick Studio LLC
  • ImageMagick release date: 2021-11-25
  • ImageMagick number of supported formats:: 213
  • ImageMagick supported formats: 3FR, A, AAI, AI, ART, ARW, AVI, AVS, B, BGR, BGRA, BIE, BMP, BMP2, BMP3, BRF, C, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FITS, FRACTAL, FTS, G, G3, GIF, GIF87, GRADIENT, GRAY, GROUP4, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, ICB, ICO, ICON, INFO, INLINE, IPL, ISOBRL, J2C, J2K, JBG, JBIG, JNG, JP2, JPC, JPEG, JPG, JPX, K, K25, KDC, LABEL, M, M2V, M4V, MAC, MAP, MAT, MATTE, MEF, MIFF, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, O, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG24, PNG32, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, R, RADIAL-GRADIENT, RAF, RAS, RGB, RGBA, RGBO, RLA, RLE, SCR, SCT, SFW, SGI, SHTML, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UIL, UYVY, VDA, VICAR, VID, VIFF, VST, WBMP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, Y, YCbCr, YCbCrA, YUV
DirectiveLocal ValueMaster Value
imagick.locale_fix00
imagick.progress_monitor00
imagick.skip_version_check00

Important settings in php.ini

The php.ini file provides a lot of configuration directives that allow you to modify various behaviors of PHP. In fact, when you open the php.ini file, you may get overwhelmed by the number of directives it provides. I’ll try to group them based on their behavior, and I hope it’ll be easy for you to understand.

Of course, we won’t go through each and every directive, but I’ll try to cover the most important ones. Let’s have a look at the types of directives that we’re going to discuss.

  • error handling directives
  • file upload directives
  • security related directives
  • session directives
  • miscellaneous directives

Interbase

  • Firebird/InterBase Support: dynamic
  • Compile-time Client Library Version: Firebird API version 25
  • Run-time Client Library Version: LI-V6.3.2.26540 Firebird 2.5

Libxml

  • libXML support: active
  • libXML Compiled Version: 2.9.1
  • libXML Loaded Version: 20901
  • libXML streams: enabled

Magic_quotes_gpc

Волшебные кавычки (Magic Quotes) — это процесс автоматического экранирования входящих данных PHP-скрипта. Если опция включена, то одинарные (‘) и двойные («) кавычки и обратный слэш ()экранируются обратным слэшем автоматически.

Включение и выключение magic_quotes осуществляется директивами:

Max_execution_time

The max_execution_time directive sets the maximum amount of time a script is allowed to run before it is terminated. The default is 30 seconds, and you can increase it to a reasonable limit as per your requirements if you need to.

Similar to the memory_limit directive, you should not set this too high to avoid issues on your server.

Max_input_time

The max_input_time directive allows you to set the maximum amount of time a script is allowed to parse incoming form data from a GET or POST.

If you have forms on your website that submit a large amount of data, you might like to increase the value of this directive.

Max_input_vars

Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:

Mbstring.func_overload и mbstring.internal_encoding

Чаще всего к данным функциям требуется обращаться для настройки корректной работы сайтов на CMS Битрикс. В этом случае должны быть указаны следующие параметры:

При этом для большинства других CMS необходимы иные значения этих функций:

Memcache

  • memcache support: enabled
  • Version: 3.0.9-dev
  • Revision: $Revision$

Memcached

  • memcached support: enabled
  • Version: 3.0.4
  • libmemcached version: 1.0.18
  • SASL support: no
  • Session support: yes
  • igbinary support: no
  • json support: no
  • msgpack support: no

Memory_limit

The memory_limit directive allows you to limit the maximum amount of memory a script is allowed to use.

You want to fine-tune this directive as per your requirements, and you should not set this too high to avoid memory outages on your server—poorly written or buggy scripts can eat up all the memory on your server if you let them!

Читайте также:  Повышение сетевой безопасности: преимущества наличия двух контроллеров домена в одной сети

Miscellaneous directives

In this last section, we’ll see a couple of other directives that are important in the context of PHP script execution.

Mysqli

  • MysqlI Support: enabled
  • Client API library version: mysqlnd 5.0.12-dev — 20220407 — $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
  • Active Persistent Links: 0
  • Inactive Persistent Links: 0
  • Active Links: 0

Opcache.revalidate_freq

Отключение OpCache (настройка требуется для CMS Битрикс):

Pcre.recursion_limit

Устанавливает лимит на рекурсию.

Pdo_dblib

  • PDO Driver for FreeTDS/Sybase DB-lib: enabled
  • Flavour: freetds

Pdo_firebird

  • PDO Driver for Firebird: enabled

Pdo_odbc

  • PDO Driver for ODBC (unixODBC): enabled
  • ODBC Connection Pooling: Enabled, strict matching

Pdo_pgsql

  • PDO Driver for PostgreSQL: enabled
  • PostgreSQL(libpq) Version: 9.3.24
  • Module version: 7.1.26
  • Revision: $Id: 9c5f356c77143981d2e905e276e439501fe0f419 $

Pdo_sqlite

  • PDO Driver for SQLite 3.x: enabled
  • SQLite Library: 3.8.2

Php: установка — manual

Windows 2000 Server and IIS (SP4 and all patches):

After many frustrating hours of trying to figure out the install (again), It took a while, but here are a couple tips:

PHP working with IIS uses c:winntphp.ini

It doesn’t matter what you set the path to, nor what you set the PHPRC environment variable to. After you get PHP running correctly in the installation folder (using php -i) copy the php.ini file into the c:winnt folder.

Here’s what worked for me:

— Add PHP path to System environment variable

— Add php5activescript.dll from http://snaps.shhost.ru/ to the PHP folder, then Register it: «regsvr32 php5activescript.dll»

Set extension_dir and doc_root directives in PHP.INI:
extension_dir = C:WWWPHPext
doc_root = C:WWWSite
cgi.force_redirect = 0

(the last cgi.force_redirect isn’t required, but I like to set it anyway)

Copy the .INI file into WINNT folder

In IIS Manager, right-click «Default Web Site», Click «Home Directory»,
Click «Configuration», «Add» the ISAPI application:
Executable: <your php install>php5isapi.dll
Extension: .php
Limit to: GET,HEAD,POST
Check: «Script Engine»
Uncheck: «Check that file exists»

Finally: Set up an ISAPI filter:
Click the «ISAPI Filters» tab,
Filter Name: PHP
Executable: <your php install>php5isapi.dll

Notes: You don’t have to set any of your folders as «Script source» folders. .PHP files aren’t scripts, merely text files that require processing before being shipped off to the browser, which is what the ISAPI filter does.

Finally, working again.

Chase

Phpinfo

  • System: Linux vh192.timeweb.ru 4.15.0-76-generic #86~16.04.1-Ubuntu SMP Mon Jan 20 11:02:50 UTC 2020 x86_64
  • Build Date: Feb 25 2022 11:30:01
  • Configure Command: ‘./configure’ ‘—prefix=/opt/php71’ ‘—enable-pcntl’ ‘—with-readline=/usr’ ‘—with-kerberos’ ‘—localstatedir=/var’ ‘—disable-debug’ ‘—with-regex=php’ ‘—disable-rpath’ ‘—disable-static’ ‘—with-pic’ ‘—with-layout=GNU’ ‘—enable-calendar’ ‘—enable-fileinfo’ ‘—enable-hash’ ‘—enable-json’ ‘—enable-sysvsem’ ‘—enable-sysvshm’ ‘—enable-sysvmsg’ ‘—enable-bcmath’ ‘—with-bz2’ ‘—enable-ctype’ ‘—with-db4’ ‘—with-qdbm=/usr’ ‘—without-gdbm’ ‘—with-iconv’ ‘—enable-exif’ ‘—enable-ftp’ ‘—with-gettext’ ‘—enable-mbstring’ ‘—with-onig=/usr’ ‘—with-pcre-regex’ ‘—with-mysql-sock=/var/run/mysqld/mysqld.sock’ ‘—enable-phar’ ‘—enable-shmop’ ‘—enable-sockets’ ‘—enable-simplexml’ ‘—enable-dom’ ‘—enable-wddx’ ‘—with-libxml-dir=/usr’ ‘—enable-tokenizer’ ‘—with-zlib’ ‘—with-kerberos=/usr’ ‘—with-openssl=/usr’ ‘—enable-soap’ ‘—enable-zip’ ‘—with-mhash=yes’ ‘—without-mm’ ‘—with-zlib-dir=/usr’ ‘—with-imap-ssl’ ‘—enable-mysqlnd’ ‘—with-ldap-sasl=/usr’ ‘—enable-intl=shared’ ‘—enable-pdo=shared’ ‘—with-curl=shared,/usr’ ‘—with-enchant=shared,/usr’ ‘—with-freetype-dir=shared,/usr’ ‘—with-gd=shared,/usr’ ‘—enable-gd-native-ttf’ ‘—with-webp-dir=shared,/usr’ ‘—with-gmp=shared,/usr’ ‘—with-imap=shared,/usr’ ‘—with-interbase=shared,/usr’ ‘—with-jpeg-dir=shared,/usr’ ‘—with-ldap=shared,/usr’ ‘—with-mcrypt=shared,/usr’ ‘—with-mssql=shared,/usr’ ‘—with-mysqli=shared,mysqlnd’ ‘—with-mysql=shared,mysqlnd’ ‘—with-pdo-dblib=shared,/usr’ ‘—with-pdo-firebird=shared,/usr’ ‘—with-pdo-mysql=shared,mysqlnd’ ‘—with-pdo-odbc=shared,unixODBC,/usr’ ‘—with-pdo-pgsql=shared,/usr/bin/pg_config’ ‘—with-pdo-sqlite=shared,/usr’ ‘—with-pgsql=shared,/usr’ ‘—with-png-dir=shared,/usr’ ‘—with-pspell=shared,/usr’ ‘—with-recode=shared,/usr’ ‘—with-snmp=shared,/usr’ ‘—with-sqlite3=shared,/usr’ ‘—with-t1lib=shared,/usr’ ‘—with-tidy=shared,/usr’ ‘—with-unixODBC=shared,/usr’ ‘—with-xmlrpc=shared’ ‘—with-xpm-dir=shared,/usr/X11R6’ ‘—with-xsl=shared,/usr’ ‘—with-pear’ ‘—with-apxs2=/usr/bin/apxs2’ ‘—with-config-file-path=/etc/php71/apache2’
  • Server API: Apache 2.0 Handler
  • Virtual Directory Support: disabled
  • Configuration File (php.ini) Path: /etc/php71/apache2
  • Loaded Configuration File: /etc/php71/apache2/php.ini
  • Scan this dir for additional .ini files: (none)
  • Additional .ini files parsed: (none)
  • PHP API: 20220303
  • PHP Extension: 20220303
  • Zend Extension: 320220303
  • Zend Extension Build: API320220303,NTS
  • PHP Extension Build: API20220303,NTS
  • Debug Build: no
  • Thread Safety: disabled
  • Zend Signal Handling: enabled
  • Zend Memory Manager: enabled
  • Zend Multibyte Support: provided by mbstring
  • IPv6 Support: enabled
  • DTrace Support: disabled
  • Registered PHP Streams: https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, zip, ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp, phar, public, temporary, translations
  • Registered Stream Socket Transports: tcp, udp, unix, udg, ssl, sslv3, tls, tlsv1.0, tlsv1.1, tlsv1.2
  • Registered Stream Filters: zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, mcrypt.*, mdecrypt.*

Posix

  • Revision: $Id: e3a2bc739dee8e0d29094e30e1cfbe3e87e2ceb4 $

Recode

  • Recode Support: enabled
  • Revision: $Id: 8850a0f49afd824e77a2873e4cb19798daf74354 $

Reflection

  • Reflection: enabled
  • Version: $Id: 279be19a9e466fb7cfea9841a630521f99644504 $

Register_globals

Директивы для включения/выключения глобальных переменных:

Request_order

Директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.

Security directives

In this section, we’ll see a few important directives that are related to security.

Session directives

Session management is one of the most important aspects when you’re working with PHP. In this section, we’ll go through a couple of important session directives.

Session.auto_start

If you set the value of the session.auto_start directive to 1, the session module in PHP starts a session automatically on every request, and thus you don’t have to use the session_start function in your scripts.

Session.name

The session.name directive allows you to set the name of the session cookie. By default, it is set to PHPSESSID, but you can change it to something else by using this directive.

Simplexml

  • Simplexml support: enabled
  • Revision: $Id: ae067cdcddf424d6e762603905b98798bc924a00 $
  • Schema support: enabled

Standard

  • Dynamic Library Support: enabled
  • Path to sendmail: /usr/sbin/sendmail -t -i

Sysvmsg

  • sysvmsg support: enabled
  • Revision: $Id: 483c70b5c54718693a4b95633a097e33d1120ba9 $

The best php scripts on codecanyon

Explore thousands of the best and most useful PHP scripts ever created on CodeCanyon. With a low-cost one-time payment, you can purchase these high-quality WordPress themes and improve your website experience for you and your visitors.

Here are a few of the best-selling and up-and-coming PHP scripts available on CodeCanyon for 2020.

Tokenizer

  • Tokenizer Support: enabled

Upload_max_filesize

If you have enabled the file upload feature on your website and you’re facing difficulties in uploading files, this is the directive you should check first. It allows you to set the maximum size of a file that can be uploaded.

Внесение настроек в файл php.ini

После создания файла php.ini в директории ./domains/domain.tld/phpXX-bin можно приступить к его редактированию. Если Вам требуется внести какие-либо параметры, то их следует прописать в следующем формате:

параметр_1 = Xпараметр_2 = Y

Например:

memory_limit = 64Mmagic_quotes_gpc = off

Отключение одной из настроек можно выполнить знаком «;» перед строкой с параметром (например: ;magic_quotes_gpc=off), либо удалением этой строки.

Зачастую в CMS уже внесены параметры в файл .htaccess в виде опций php_value и php_flag. Например:

php_value memory_limit 64M

Внесение параметра в php.ini нужно производить в указанном выше формате этого файла, т.е. для данного примера формат записи изменится на:

memory_limit = 64M

Если у Вас еще остались вопросы по использованию файла php.ini у нас на хостинге, то мы всегда готовы ответить на них.

Где найти файл php.ini?

Привет! Мне нужно изменить в файле php.ini несколько параметров. Из конфигурации php я увидел, что он лежит тут: » /etc/php56/apache2/php.ini «. Но в файловой системе сайта такого пути нет. Значит искать надо на сервере. А где?

Добавление нового пользователя

Работать с сервером под учетной записью root настоятельно не рекомендуется — лучше всего создать нового пользователя и передать ему необходимые права. В Debian-подобных системах это делается командой:

Добавление нового хоста nginx

Последний этап настройки VDS для размещения сайта — добавление виртуального хоста Nginx. Нам достаточно отредактировать файл default. В семействе Debian это делается так:

Добавление новой базы данных

Управление базами данных осуществляется через консоль MySQL. Чтобы в нее войти, необходимо ввести команду:

после чего авторизоваться, используя пароль администратора.

Индексная страница по умолчанию

Директива DirectoryIndex позволит вам указать страницу, которая будет отдаваться по умолчанию при обращении к директории, например:

Вы также можете указать несколько страниц, в этом случае сервер «пройдет» по списку слева направо и отобразит первую доступную страницу:

Инструкция по настройке vds: базовая конфигурация и работа с lemp

Управление виртуальным сервером осуществляется с помощью командной строки. Для этих целей удобнее всего использовать бесплатную программу PuTTy. Она не требует установки: скачав и запустив утилиту, вы можете тут же подключиться к VDS по протоколу SSH, введя IP-адрес (номер порта по умолчанию — 22) и нажав на кнопку “Open”.

Читайте также:  Хостинг сайта: что это такое и зачем он нужен

Сама процедура настройки VDS представляет собой ввод в консоль текстовых команд, с помощью которых можно осуществлять практически любые операции над сервером. Ниже рассмотрена последовательность базовых действий, которые необходимо осуществить сразу после запуска виртуальной машины, а также пошаговая установка связки программного обеспечения, необходимого для размещения веб-сайтов.

Как посмотреть параметры php без панели joomla

Посмотреть и проверить, доступные параметры, а также их значения можно следующим образом.

  • Откройте текстовой редактор (например, Notepad ) и создайте текстовой файл, со следующим содержанием:
  • Назовите его, например, info.php;
  • Поместите созданный файл info.php в корневом каталоге сайта. Именно сайта, а не домена;
  • Установите права доступа на этот файл 644 (CHMOD 644);
  • Вызовите скрипт из своего браузера. Для этого введите в окне браузера, следующее:

Кодировка

Указать кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц можно с помощью AddDefaultCharset, например:

При использовании PHP версии 5.6 и выше может потребоваться дополнительно указать:

Конфигурация php

Первый шаг — редактирование файла php.ini. В Debian и Ubuntu он располагается здесь:

В Centos-подобных дистрибутивах — непосредственно в каталоге etc:

В обеих системах сперва необходимо раскомментировать и поменять значение в следующей строчке:

Таким образом, мы закрыли важную уязвимость, с помощью которой злоумышленники могли бы получить несанкционированный доступ к сайту. На этом настройка интерпретатора на Debian завершена, осталось перезапустить PHP-процессор:

В Centos же необходимо отредактировать и файл www.conf:

Здесь требуется найти строчку

Далее запускаем интерпретатор, а также вручную добавляем его в автозагрузку:

Настройка mysql

Первичная настройка сервера баз данных осуществляется с помощью специального скрипта, идущего в комплекте с основным ПО:

После запуска вас попросят ввести пароль администратора MySQL, который мы задали на предыдущем этапе, а затем зададут ряд вопросов, отвечать на которые необходимо кнопками Y (да) и N (нет), подтверждая выбор клавишей “Enter”:

Настройка php на хостинге через файл php.ini

PHPЯ, конечно, не супер специалист во всяких делах, которые касаются настройки веб серверов, apache, php и всего прочего, поэтому так до сих пор и не завел себе отдельный сервак для проектов. Тем не менее, иногда в работе попадаются ситуации, когда приходится все же влезать в дебри и нюансы настроек – сегодня будет пост об одной из них. Предыстория достаточно тривиальная: занимался разработкой сайта на typo3 и там для работы с изображениями необходимо установить ImageMagick. Обращаюсь, значит к хостеру, они поставили, а оно почему-то все равно не работает. Потом нахожу запрещенную функцию exec, которая как раз для работы ImageMagick нужна – опять обращаюсь к хостеру. А тут еще сложная процедура общения, где я сначала пишу письмо в админке хостера, на него отвечают на почту клиенту и только потом я могу прочитать послание:)

В общем, кое-как 3 или даже 4 дня я помучался, после чего меня направлили на нужную страницу справки, где я нашел всю необходимую информацию. Как оказалось, я мог указывать для хостинга свои настройки PHP через файл php.ini, что, в принципе, было немного непривычно.

Итак, php.ini – это файл настроек и конфигурации PHP. В нем находится ряд директив, которые определяют различное поведение PHP, ну и, следовательно, сайта. Название файла должно быть именно таким, чтобы интерпретатор смог его найти. В интернете пишут, что он сначала ищет файл настроек php.ini в текущем каталоге, если его нет, то переходит в директорию, указанную в переменной окружения PHPRC, и в последнюю очередь проверят пусть, который задан при компиляции PHP. Как-то так, информация интересная, но больше теоретическая:)

Вернемся к реальным примерам. При работе с разными хостерами можно сказать у меня было несколько вариантов и нюансов настройки PHP.

1. Если в качестве админки используется cPanel, то там находим раздел «Конфигурация PHP», где опубликован перечень параметров PHP для хостинга. Иногда там можно поменять версию PHP, если сервер позволяет работать с 4 и 5 версиями.

настройка php

Возможно, cPanel и предоставляет варианты изменения настроек PHP (кроме версии), но мне пока такое не попадалось. Поэтому чаще всего я прибегал ко второму варианту.

2. Вполне логично для пользователя, который не очень во всем этом разбирается попросить помощи у хостера. Иногда это является единственным возможным решениям. Тут, видимо, многое зависит от конфигурации и принципов работы сервиса у разным компания – одни дают пользователям больше свободы, другие, наоборот, стараются контролировать все настройки.

3. Некоторые хостеры доверяют своим клиентам настолько, что позволяют использовать свои настройки в php.ini на серверах. Как я понимаю, ряд настроек PHP устанавливается по умолчанию, но местами возникают ситуации, когда для тех или иных систем, скриптов может понадобится дополнительная функциональность – как, например, в моем случае с функцией exec или когда речь идет о wordpress можно вспомнить переменную memory_limit.

На одном из хостеров, с которым работаю, нашел инструкцию как же все-таки можно переопределить некоторые настройки php.ini под свои нужды:

В .htaccess добавляем следующие строки:

Далее создаем файл в папке /cgi-bin/php5.fcgi

Здесь /home/support/php.ini путь к вашему php.ini (конечно сам файл php.ini нужно будет там создать, убедитесь в правильности пути). После этого назначаем файлу php5.fcgi права 755 (chmod 755 php5.fcgi). Теперь обработка настроек PHP будет производится с учетом вашего файла php.ini.

К этой инструкции есть 2 уточнения. При создании файла php5.fcgi нужно использовать unix переводы строк т.е. n. И если возникает 500 ошибка, проверьте лог файл ошибок, где скорее всего найдете в чем проблема.

Кстати, к этому алгоритму один из пользователей добавил комментарий – и очень полезный! Можно все организовать немного проще. Все в том же файле .htaccess добавляем путь к своему php.ini через специальную настройку:

У меня лично работает! Внимание, пусть /home/accname/php/php.ini подставляете свой.

Ну и напоследок 2 настройки php.ini ради которых и пришлось «заморачиваться по полной»:

  • disable_functions — директива позволяет вам запрещать вызовы некоторых функций из соображений безопасности. Список указываем через запятую в виде имен функций.
  • memory_limit — максимальный объем памяти, которая выделяется для выполнения скрипта.

Ну, и чтобы пост получится полноценным на 100% рассказываю как узнать настройки PHP. Для этого создаете на локальном компьютере файл info.php, где пишете код:

Сохраняем и копируем его на FTP хостинга в корневую директорию сайта, после чего запускаем. На экране должны отобразиться все настройки PHP, где и можно найти значение тех или иных функций для исправления в php.ini. Если есть что добавить — пишем в комментариях.

P.S. Постовой. Оптимизация, раскрутка и продвижение сайта в поисковых системах Google, Yandex.
Если вам нужна качественная разработка сайта, то можете обратиться в LTD-студию.

Настройка опций в файле .htaccess

Директивы необходимо добавлять в самый конец или в самое начало файла, вне блоков кода . .

Настройка параметров

Рассмотрим настройку параметров на примере mbstring.func_overload.

1. Найдите нужный параметр в php.ini при помощи команды:

Ключ -n покажет, в какой строке расположена директива, чтобы можно было перейти сразу к ней.

В данном случае номер строки — 1714.

2. Откройте файл в текстовом редакторе, указав номер нужной строки:

3. Отредактируйте строку: уберите знак комментария (;) и измените значение параметра на нужное вам:

В данном случае мы указываем 2.

4. Сохраните изменения (нажмите Ctrl x для выхода из nano, далее Y для сохранения изменений и Enter).

5. Перезагрузите веб-сервер Apache:

источник

Настройка параметров php

  • В первом случае PHP функционирует как модуль веб-сервера Apache, поэтому настройки PHP необходимо указывать в файле .htaccess.
  • Во втором случае настройки PHP необходимо указывать в файле php.ini, который располагается в директории cgi-bin вашего сайта.

По умолчанию на новых серверах PHP работает в режиме mod_php, но при желании вы можете подключить режим mod_cgi, воспользовавшись нашей инструкцией.

Общие сведения

.htaccess — это конфигурационный файл веб-сервера Apache, который позволяет задавать различные настройки для работы веб-сервера, применяемые для конкретных каталогов пользователя.

Параметры, указанные в .htaccess, не затрагивают настройки главного конфигурационного файла Apache и имеют силу только для каталога, в котором этот файл размещен, и его подкаталогов. Для подкаталогов также можно создавать дополнительные .htaccess-файлы; при этом необходимо учитывать, что настройки .htaccess, заданные в подкаталоге, переопределят настройки, назначенные для него в файле .htaccess, размещенном на уровне выше.

Читайте также:  Раскрытие невидимого: решение проблемы отсутствия просмотра вашего сайта

Настройки в .htaccess задаются различными директивами, которые далее обрабатываются и выполняются веб-сервером. С помощью .htaccess можно настраивать перенаправления, управлять опциями PHP, устанавливать разрешения и права доступа к файлам, задавать собственные страницы ошибок и выполнять множество других действий.

Ограничения по видам запросов

Для применения ограничений для определенных методов запросов можно использовать блоки:

Для новых версий Apache, начиная с 2.4, оптимально использовать директивы Require и заключать их в блоки :

Опции, которые не могут быть изменены

К настройкам PHP, изменение которых невозможно в рамках виртуального хостинга, относятся:

источник

От автора

PHP это основной язык программирования Joomla. Аббревиатура интерпретатора PHP — “Hypertext Preprocessor (Препроцессор Гипертекста)».

Содержание:

  • Как посмотреть параметры PHP из панели Joomla;
  • Как посмотреть параметры php без входа в панель Joomla;;
  • Файл php.ini.

Отображение листинга (содержимого директории)

Если индексный файл запрашиваемой клиентом директории недоступен, будет выведена ошибка «403 Forbidden». Если вместо этого необходимо отображение содержимого директории, потребуется добавить в .htaccess директиву:

источник

Параметры php

Настройка опций PHP через .htaccess описана в отдельной статье: Настройка параметров PHP.

Передача привилегий root

После создания нового пользователя ему необходимо передать права суперадминистратора, в противном случае вы не сможете полноценно настроить VDS. Делается это через добавление вновь созданной учетной записи в соответствующую группу. Для Debian-подобных:

Перенаправления

Настройка редиректов описана в отдельной статье: Типовые перенаправления.

Посмотреть параметры php в административной панели joomla

  • Войдите в административную панель Joomla;
  • Откройте вкладку: Система→Информация о системе→PHP. Смотрим все параметры php вашего хостинга (сервера).

Похожие вопросы

Не удается передавать введенные на сайт данные в БД. Как исправить?

Не открывается сайт после оптимизации таблиц с помощью WP-Optimze

источник

Прямой эфир

$_POST — глобальный массив! Как всё просто.

По вашей ссылке на справочный центр вставляемые в .htaccess строки должны выглядеть несколько иначе.

Собственные страницы ошибок

С помощью директивы ErrorDocument вы можете сообщить веб-серверу, какая страница должна отдаваться клиенту в случае возникновения определенной ошибки (403, 404, 500 и др.). Для этого необходимо указать номер ошибки и адрес нужной страницы:

Вы можете хранить файлы этих страниц как в корне сайта, так и в специально созданной папке, например, errors.

Создание phpinfo-скрипта

В процессе настройки потребуется получать информацию о параметрах PHP на сервере, поэтому в первую очередь необходимо разместить скрипт phpinfo.php в директории сайта.

Подключитесь к серверу по SSH и выполните следующие действия:

1. Перейдите в директорию сайта:

2. Создайте файл phpinfo.php:

3. Добавьте в него следующее содержимое:

4. Сохраните изменения (нажать Ctrl x для выхода из nano, далее Y для сохранения изменений и Enter).

Создание директории

Теперь необходимо создать каталог, в котором будут располагаться файлы вашего ресурса. В любой операционной системе Линукс это делается следующей командой:

Создание и редактирование .htaccess

Создать файл настроек .htaccess вы можете при помощи файлового менеджера панели управления аккаунтом.

1. Перейдите в раздел «Файловый менеджер» панели управления.

2. Выберите пункт меню «Файл» — «Новый файл».

3. Выберите из списка расширений .htaccess.

4. Нажмите кнопку «Создать файл».

Возникновение ошибки «Имя уже используется» означает, что данный файл уже создан в текущей директории.

Для редактирования файла в файловом менеджере перейдите в директорию с данным файлом, выделите его кликом левой кнопки мыши и выберите пункт меню «Файл» — «Редактировать».

В открывшейся форме редактирования можно внести необходимые изменения в файл конфигурации: добавить или удалить директивы. Также можно закомментировать неиспользуемые настройки, для этого необходимо добавить в начале строки символ #. Настройки, указанные в таких строках, учитываться не будут.

Вы также можете редактировать .htaccess во внешних редакторах, но обратите внимание, что текстовые редакторы Windows (например, «Блокнот») при сохранении любых документов с кодировкой UTF-8 добавляют в них метки порядков байтов юникода — BOM-сигнатуры.

Управление ssh

В целях безопасности необходимо проделать ряд манипуляций с конфигурационным файлом sshd_config, который, как легко догадаться, отвечает за настройку удаленного подключения к серверу по SSH. В разных дистрибутивах Линукс для редактирования используются различные утилиты, соответственно, и команды для них будут несколько различаться. В Debian-подобных применяется nano:

Для сохранения внесенных изменений необходимо нажать комбинацию клавиш Ctrl X, затем Y и “Enter”. Centos имеет в своем составе редактор vi:

Сохранение информации осуществляется командой :x, после чего необходимо нажать “Enter”.

В sshd_config следует запретить вход с помощью учетной записи root, заменив

а также поменять порт SSH, используемый по умолчанию, заменив

Номер порта лучше выбирать из диапазона 49152-65535 — это позволит избежать возможных конфликтов с различными службами и сервисами Линукс. После описанных манипуляций необходимо перезапустить SSH. В Debian это делается так:

Теперь необходимо переподключиться к серверу через назначенный порт под новой учетной записью, после чего настройку VDS можно продолжать.

Управление доступом к сайту

Разрешить или ограничить доступ к сайту для определенных IPv4-адресов можно с помощью директив Order Allow,Deny или Require . В новых версиях Apache, начиная с 2.4, которая используется на наших хостинговых серверах, рекомендуется использовать именно Require.

Обратите внимание, что в рамках нашей архитектуры директивы запрета доступа не будут работать для IPv6. Для запрета доступа с IPv6-адресов необходимо удалить АААА-запись домена.

Разрешить доступ конкретным IP (для остальных доступ запрещен):

Несколько IP-адресов могут указываться через пробел или отдельными директивами, каждая в новой строке.

Запретить доступ конкретным IP (для остальных доступ разрешен). Для работы запрещающих директивы, их необходимо заключать в блоки :

При использовании Allow,Deny:

Разрешить доступ всем, кроме конкретного IP:

Запретить доступ всем, кроме конкретного IP:

Запретить доступ для всех:

Аналогичным образом можно настроить доступ к конкретным файлам, включив эти директивы в блоки , например:

Установка mysql

В Debian-подобных операционных системах сервис баз данных устанавливается командой:

В процессе вас попросят задать пароль администратора MySQL.

В Centos-подобных дистрибутивах вместо MySQL используется форк MariaDB, обладающий теми же функциональными возможностями. После его установки:

сервер баз данных необходимо запустить, а также добавить в список автозагрузки:

Установка nginx

Начнем с установки Nginx. В Debian-подобных дистрибутивах это делается одной строчкой:

после чего сервер будет автоматически запущен.

В Centos сперва необходимо добавить репозиторий EPEL:

и только после этого производить установку:

Финальный этап — запуск Nginx:

Установка php

Важный этап настройки VDS — установка и конфигурирование интерпретатора PHP. Команды для разных дистрибутивов Линукс отличаются. Инсталляция в Debian осуществляется так:

Установка и настройка lemp

Большинство современных CMS написаны на языке программирования PHP. Это означает, что для размещения практически любого сайта, независимо от типа и функционала, нам понадобится LEMP. Данная аббревиатура обозначает связку современного и очень быстрого веб-сервера Nginx, интерпретатора php-fpm и системы управления базами данных MySQL. Процедура установки достаточно проста и не займет много времени.

Файл php.ini

Довольно часто возникают ситуации, когда нужно изменить ту или иную настройку php. Сделать это можно в файле php.ini. php.ini, файл конфигурации php, с его настройками. Считывается файл при запуске PHP. В файле php.ini указаны основные параметры интерпретации PHP-кода, параметры безопасности, способы работы с данными и файлами, информация об включенных расширениях PHP.

Но файл php.ini не всегда доступен для пользователя и часто закрывается хостером. Еще одна проблема, не всегда легко найти файл в структуре каталога.

 Чтобы найти, где располагается файл php.ini, используем всё тот же файл, info.php. В таблице с парметрами phpв строке «LoadedConfigurationFile» вы увидите полный патч до файла php.ini.        

Conclusion

It’s impossible to cover each and every directive within a single article, but I’ve tried to cover the important ones. Feel free to post your queries if you want to know about any specific directives, and I’ll be happy to help!

As a PHP developer, it’s important that you understand the different directives in the php.ini file, and that should help you to fine-tune your PHP configuration to your requirements.

Calendar

  • Calendar support: enabled
Оцените статью
Хостинги