Подключение и настройка PHP
Что такое PHP
PHP — скриптовый язык программирования общего назначения, широко применяемый для разработки веб-приложений. Поддерживается большинством хостинг-провайдеров и является одним из лидеров среди языков, используемых для создания динамических веб-сайтов.
Как подключить PHP
PHP доступен в рамках следующих пакетов:
- Оптимальный
- Максимальный
- Магазин
Чтобы активировать возможность использования PHP, необходимо приобрести один из перечисленных пакетов в разделе платных услуг Панели управления сайтом.
Начало использования
После подключения услуги в Панели управления на главной странице появится пункт «PHP детали». Перейдите по ссылке, запишите данные (FTP host и FTP login) и установите пароль для подключения по FTP.
Загрузка PHP-скриптов
Загрузка осуществляется по FTP. Подключение производится с использованием данных из окна «PHP детали» и установленного пароля.
Скрипты загружаются только в папку scripts (не в корневой каталог!).
После загрузки скрипт будет доступен по адресу:
http://php.ваш_сайт/example.php
http://ваш_сайт/php/example.php
— через проксирование для поддержки GET/POST-запросов
Подключение PHP-скриптов
Вывод результата выполнения скрипта возможен только через функцию «Импорт удалённого кода».
Клиентский вывод возможен с помощью следующего кода:
<?$PHPCODE$("http://ваш_сайт/php/скрипт.php")?>
или:
<div id="phpinfo1"></div> <script type="text/javascript"> $.get('/php/SCRIPT_NAME.php', function(a) { $('#phpinfo1').html(a); }); </script>
Важно: идентификатор должен быть уникален для каждого скрипта на странице. Первый вариант можно использовать только один раз!
Передача параметров в скрипт
POST-запрос (рекомендуется):
<div id="phpinfo1"></div> <script type="text/javascript"> $.post('/php/SCRIPT_NAME.php', { param1: 'value1', param2: 'value2' }, function(a) { $('#phpinfo1').html(a); }); </script>
В PHP-скрипте значения принимаются через массив $_POST
.
GET-запрос:
<script type="text/javascript"> $.get('/php/SCRIPT_NAME.php?param1=value1¶m2=value2', function(a) { $('#phpinfo1').html(a); }); </script>
Значения доступны через $_GET
.
Пример вызова через PHPCODE:
<?$PHPCODE$("http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB")?>
- SITE_ADDRESS — адрес сайта
- SCRIPT_NAME — имя скрипта
- param — параметры запроса (необязательно)
Передача файла в скрипт
Для передачи файла используйте стандартную HTML-форму с атрибутом enctype="multipart/form-data"
:
<form action="/php/SCRIPT_NAME.php" method="post" enctype="multipart/form-data"> <input type="file" name="filename"> <input type="submit" value="Загрузить"> </form>
Получить файл в скрипте можно из массива $_FILES['filename']['tmp_name']
.
Встроенные функции
ucoz_getinfo("SITEUSERID")
— возвращает ID текущего пользователя сайта.
Примечания
- По умолчанию результат выполнения скрипта возвращается в формате JSON.
- Чтобы вернуть обычный HTML, в начале скрипта установите:
$___notjson = 1;
- Для возврата ошибок используйте переменную:
$___error
Ограничения использования PHP
Запрещено использование следующих функций:
- Системные вызовы:
proc_open
,shell_exec
,system
и др. - Низкоуровневые функции работы с файловой системой:
dio_open
,dio_read
и т.п. - POSIX и shared memory функции
- MySQL-функции:
mysql_stat
,mysql_pconnect
- Функции отправки почты:
mail()
- FTP-функции:
ftp_connect()
и др. — используйте cURL
Технические ограничения:
- Максимальный размер обрабатываемого файла: 10 MB
- Максимум файлов и папок в одной директории: 500
- Общее количество файлов и папок: 10 000
- Время выполнения скрипта: до 25 секунд
- Дисковое пространство на пользователя: 200 MB
- По прямым ссылкам доступны только PHP-файлы. Пример:
example.html
не откроется по адресуhttp://ваш_сайт/php/example.html
Полный список запрещённых функций
popen, pclose, stream_copy_to_stream, dio_close, dio_fcntl, dio_open, dio_read, dio_seek, dio_stat, dio_tcsetattr, dio_truncate, dio_write, exec, passthru, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, system, expect_expectl, expect_popen, pcntl_alarm, pcntl_exec, pcntl_fork, pcntl_getpriority, pcntl_setpriority, pcntl_signal_dispatch, pcntl_signal, pcntl_sigprocmask, pcntl_sigtimedwait, pcntl_sigwaitinfo, pcntl_wait, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, posix_access, posix_ctermid, posix_errno, posix_get_last_error, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getppid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_initgroups, posix_isatty, posix_kill, posix_mkfifo, posix_mknod, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_strerror, posix_times, posix_ttyname, posix_uname, ftok, msg_get_queue, msg_queue_exists, msg_receive, msg_remove_queue, msg_send, msg_set_queue, msg_stat_queue, sem_acquire, sem_get, sem_release, sem_remove, shm_attach, shm_detach, shm_get_var, shm_has_var, shm_put_var, shm_remove_var, shm_remove, shmop_close, shmop_delete, shmop_open, shmop_read, shmop_size, shmop_write, apache_child_terminate, apache_get_modules, apache_get_version, apache_getenv, apache_lookup_uri, apache_note, apache_request_headers, apache_reset_timeout, apache_response_headers, apache_setenv, getallheaders, virtual, nsapi_request_headers, nsapi_response_headers, nsapi_virtual, mail, mysql_stat, mysql_pconnect, net_get_interfaces
Актуальная версия PHP
На 15 ноября 2023 года актуальна версия PHP 5.2.12.
Полная инструкция по использованию PHP на uCoz доступна здесь.