В.В.Галактионов, Т.М.Голоскокова, Н.И.Громова, А.В.Гусев, В.В.Мицын, Ж.Ж.Мусульманбеков, И.К.Некрасова, В.Д.Позе, А.В.Сергеев, Е.А.Тихоненко
РУКОВОДСТВО ДЛЯ ПОЛЬЗОВАТЕЛЕЙ LINUX КЛАСТЕРА ЛИТ ОИЯИ
Дубна 2004
От редактора
1 Структура Linux кластера и базовое программное обеспечение
1.1 Интерактивный кластер
1.2 Вычислительные фермы
1.3 Серверы дискового пространства
1.4 Вспомогательные серверы
1.5 Базовое программное обеспечение

2 Начальные рекомендации пользователям
2.1 Как стать пользователем
2.2 Ваша "учетная запись" (account) и пароль
2.3 Безопасность
2.4 Пакетная обработка счетных задач
2.5 Дисковое пространство для пользователей
2.6 AFS и пользовательские файлы и каталоги
2.7 Электронная почта
2.8 Русификация

3 Файловая система AFS

4 Рекомендации для пользователей параллельного вычислительного кластера
4.1 Использование команды qsub
4.2 Описание параметров
4.3 Контроль над исполнением задачи
4.4 Результаты выполнения задачи в пакетной обработке

5 Перечень и краткое описание основных команд при работе в операционной системе Linux
5.1 Простейшие действия
5.2 Стандартные команды. Информация по системе команд
5.3 Работа с сетью
5.4 Некоторые команды администрирования
5.5 Контроль процессов
5.6 Встроенные в Linux программные утилиты и языки

6 Midnight Commander

7 Рекомендуемые редакторы
7.1 Текстовый редактор pico
7.2 Краткое описание редактора vi/vim

8 Некоторые средства разработки программ
8.1 Текущие версии компиляторов C и g77
8.2 Редактор связей ld
8.3 Команды ar, ranlib, nm, ldd, strings
8.4 Утилита gprof
8.5 Отладчики GDB, DDD

9 Графические пакеты на Linux кластере
9.1 ImageMagick. Просмотр и обработка изображений
9.2 Chimera
9.3 Системы визуализации массивов числовой информации (научных данных)
Grace
IRIS Explorer
OpenDX (Data Explorer)

10 СУБД MySQL
10.1 Регистрация пользователей и создание базы данных
10.2 Соединение с сервером MySQL
10.3 Примеры работы с MySQL
10.4 Основные команды
10.5 Подключение к базе данных MySQL с использованием PHP

11 Изменения в работе с PHP-программами

12 Сведения об информационном сервере linux4u

13 Литература о Linux на русском языке

14 Сравнительное сопоставление прикладных пакетов в Windows и Linux

файлы для печати:
(.doc) (.zip))

November 22, 10:13:39

 

chapter_11

11 Изменения в работе с PHP-программами

В версии PHP 4.3.1 установлены новые правила формирования глобальных переменных - входных параметров PHP-программы и системных переменных: в целях обеспечения безопасности операционной системы отключен режим автоматического присвоения значений переменным. Для выбора значений необходимо выполнить обращения к соответствующим ассоциативным массивам.


Параметры PHP-программ

Передача параметров PHP-программам может выполняться различными способами:

  • при обращении в CGI-режиме из HTML form-объектов c методами передачи get и post;
  • при прямом обращении к PHP-программе в URL-строке.

Обработка входных параметров

Обработка входных параметров зависит от типа обращения.

1. Метод get

Пример HTML-страницы:

   <form action="http://www.jinr.ru/~petrov/php/testphp.php" method="get" >
   <table>
   <tr><td>
   <tr><td nowrap><b>Имя счетчика:</b> <td><input
 type="text"  
           name="counter">
   <tr><td nowrap><b>ID счетчика:</b> <td><input
 type="text" name="id">
   <tr><td><input type="submit" value="Запрос">
   </table>
   </form>

Пример соответствующей PHP-программы:

   <?php
   $counter=$_GET['counter'];
   $id=$_GET['id'];
   PRINT "Counter= $counter  ID= $id";
   ?>

2. Метод post

Пример HTML-страницы:

   <form action="http://www.jinr.ru/~gvv/php/counter/testphp.php"
                         method="post" >
   <br><b>Имя счетчика:</b> <input type="text" name="counter">
   <br><b>ID счетчика:</b> <input type="text" name="id">
   <br><input type="submit" value="Запрос">
   </form>

Cоответствующая PHP-программа:

   <?php
   $counter=$_POST['counter'];
   $id=$_POST['id'];
   PRINT "Counter= $counter  ID= $id";
   ?>

3. Задание параметров в URL-строке

Пример URL-строки:
   http://www.jinr.ru/~petrov/php/testphp.php?counter=value1&id=value2

PHP-программа для обработки параметров этой строки будет такой же, как и для передачи параметров по методу get.

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

   $query_string = getenv ("QUERY_STRING");
   PRINT "<br>query_string:  $query_string<br>";

Результат выполнения:

query_string: counter=value1&id=value2

Допускается использование устаревших типов ассоциативных массивов для вышеприведенного примера:

   $counter=$HTTP_GET_VARS['counter'];
  или
   $counter=$HTTP_POST_VARS['counter'];

Системные переменные

Системные переменные в PHP-программе устанавливаются также обращением к ассоциативным массивам. Ниже приведен пример использования системных переменных QUERY_STRING, REMOTE_ADDR, HTTP_USER_AGENT:

   $query_string = getenv ("QUERY_STRING");
   $address = $_SERVER["REMOTE_ADDR"];
   echo "
ADDRESS: $address"; $remote =getenv("REMOTE_ADDR"); echo "
Remote2: $remote"; $userag = getenv("HTTP_USER_AGENT"); echo "
user agent= $userag
"; echo $_SERVER["HTTP_USER_AGENT"];

Примечание:

Полезной для уточнения состояния PHP-пакета является функция phpinfo();