Каждый пользователей может создать собственный файл php.ini и разместить его в папке вызываемого срипта.
Это удобно,для того чтобы вы могли самостоятельно редактировать свои настройки, без обращения в службу тех. поддержки
Если Вы решили положить php.ini где-то в public_html, то создайте файл .htaccess в корневой папке сайта ( например /home/user/public_html ,где user ваш никнейм в cpanel) или если файл существует то только добавьте в любом месте (в начале или конце) в файл .htaccess директивы которые описанны ниже.
<Files php.ini>
order allow,deny
deny from all
</Files>
эти директивы запрещают просмотра файла php.ini посторонними.
При такой установке PHP в виде обработчика CGI, SuPHP, Вы не можете использовать в файле .htaccess следующие директивы : php_flag, php_admin_flag, php_value и прочих, которые изменяют какие-либо параметры PHP окружения это вызовет ошибку с кодом 500, Internal Server Error.
Внимание: собственный файл php.ini действителен только в пределах директории, в которой размещён, если не указана специальная опция, см. ниже.
suPHP_ConfigPath /home/user/public_html
для серверов hostde6 и hostde15
lsapi_phpini /home/user/public_html
т.е. впишите эту строку в файл .htaccess перед кодом запрета просмотра файла php.ini, только замените user на свое имя пользователя.
Права доступа на файлы и папки:
- 644 - запись в файл разрешена (по умолчанию)
- 444 - запись в файл запрещена (только чтение и исполнение)
- 755 - права доступа на папки (по умолчанию, менять не требуется)
Обратите внимание - при правах доступа 644 запись разрешена только для скриптов которые запускаются в среде Вашего аккаунта. Никто другой запись произвести не сможет. Для ещё большего увлечения безопасности Вы можете сменить права доступа у файлов на 444 - в этом случае даже Ваши скрипты не смогут ничего записать в файлы, но это не обязательно.
Таким образом при установке скриптов не требуется менять права доступа, даже если в инструкции к скрипту написано что их нужно изменить. Просто пропускайте пункт смены прав доступа CHMOD.
Пример файла php.ini и описание некоторых его параметров:
; Синтаксис файла: "директива = значение"
; Знак комментария в php.ini - ";" (точка с запятой). Все, что находится в строке после ";" не воспринимается PHP
safe_mode = Off
disable_functions = ; В целях безопасности, позволяет запретить выполнение указанных функций
max_execution_time = 30 ; Максимальное кол-во секунд исполнения скрипта
memory_limit = 16M ; Максимум оперативной памяти, которую может взять себе скрипт
error_reporting = E_ALL & ~E_NOTICE ; Показывать все ошибки, кроме замечаний
display_errors = On ; Вывод ошибок в браузер. Для облегчения отладки сценариев
variables_order = "EGPCS" ; Порядок, в котором PHP будет регистрировать переменные (E - встроенные переменные, G - GET переменные, P - POST переменные, C - Cookies, S - сессии). Отсутствие какой-либо из букв не позволит вам работать с соответствующими переменными
register_globals = On ; Возможность обращения к переменным, поступающим через GET/POST/Cookie/сессии, как к обычным переменным (например, "$переменная")
post_max_size = 55M ; Максимальный объём данных который может быть принят
magic_quotes_gpc = On ; Включение автоматической обработки кавычек, поступающих через POST/GET/Cookie
file_uploads = On ; Разрешает загрузку файлов
;upload_tmp_dir = ; Каталог для временных закачанных файлов (не забудьте создать этот каталог!)
upload_max_filesize = 5M ; Максимальный размер закачиваемого файла
session.save_handler = files ; Хранить данные сессий в файлах
session.save_path = /tmp ; Папка для хранения файлов сессий (не забудьте создать этот каталог!)
session.use_cookies = 1 ; Использовать cookie в сессиях
session.name = PHPSESSID ; Использовать в качестве имени сессии и сессионной cookie ID сессии
session.auto_start = 0 ; Запрет на инициализацию сессии при начале соединения
session.cookie_lifetime = 0 ; Время жизни сессионных cookie ("0" - до закрытия окна браузера)
session.use_trans_sid = 1 ; ID сессии будут добавляться ко всем ссылкам на странице автоматически (если у пользователя отключены cookie)