Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 022 698 раз!

Форум

Добро пожаловать, Гость!

PHP CLI path, exec, safe_mode is off

Вопросы по работе с Apache, Nginx, PHP, MySQL, Sendmail и т.д.
CheF85
Сообщения: 7
C нами: 2 года 6 мес

Непрочитанное сообщение CheF85 » 26 май 2014, 11:24

Установил Joomla с расширением hwdMediaShare на Open Server v5.0.0 Windows 7 x64 в конфигурации:
Apache 2.2.27
PHP 5.4.26

Для полной работоспособности компонента необходимо указать путь к PHP CLI, разрешить exec и отключить safe_mode. Подскажите пожалуйста как это сделать?

Аватара пользователя
Redee
Сообщения: 218
C нами: 3 года 5 мес

Непрочитанное сообщение Redee » 26 май 2014, 14:16

e:\OpenServer\modules\php\PHP-5.4.22\

e:\OpenServer\userdata\config\PHP-5.4.22_php.ini >>>>
; --------------------------------------------
; Установка защиты от внешнего доступа
; См. Руководство Пользователя: Защита сервера
; --------------------------------------------
%disallow%open_basedir =

http://www.php.net/manual/ru/features.safe-mode.php
http://www.php.net/manual/ru/ini.sect.safe-mode.php#ini.safe-mode

з.ы. Использование ф-ии exec() НЕ безопасно, собственно это и пишут на сайте пхп.

CheF85
Сообщения: 7
C нами: 2 года 6 мес

Непрочитанное сообщение CheF85 » 26 май 2014, 16:30

Ок, я открыл свой PHP-5.4.26_php.ini и увидел там следующее
%disallow%open_basedir = "%sitedir%;
%progdir%\userdata\temp;
%progdir%\modules\system\html\openserver;
%progdir%\modules\php\%phpdriver%\pear"

%disallow%disable_functions = exec
,system,shell_exec,proc_terminate,proc_open,proc_nice,proc_close,
passthru,escapeshellcmd,escapeshellarg,popen,pclose,dl,
max_execution_time,ini_restore,apache_note,apache_setenv,
debugger_off,debugger_on,define_syslog_variables,pcntl_exec,
proc_get_status,syslog,php_uname,posix_kill,posix_mkfifo,
posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_uname,
leak,apache_child_terminate,symlink,posix_getpwuid

Я так понимаю что если exec в списке %disallow%disable_functions, то он должен быть отключен, но тогда почему выполняется следующее условие?

if(function_exists('exec')) echo "exec is enabled";

Не понимаю при чём здесь %disallow%open_basedir = и что мне указывать в качестве пути?
На линуксе чтобы понять путь к бинарному файлу php cli достаточно выполнить команду "which php", а как тут быть я не знаю :(

P.S. Обращение к верстальщикам сайта, слова написанные в одну строчку без пробелов - ломают вёрстку.

Аватара пользователя
Максим
Сообщения: 4878
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 26 май 2014, 16:50

Путь к PHP CLI изначально формируется в окружении. Разрешать exec не нужно если вы не включали защиту от внешнего доступа в настройках Open Server exec и так разрешен, если включали, то просто удалите фукнцию из списка disable_functions. Safe_mode вообще никак не используется, его не нужно отключать.

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

CheF85
Сообщения: 7
C нами: 2 года 6 мес

Непрочитанное сообщение CheF85 » 26 май 2014, 17:55

Путь к PHP CLI изначально формируется в окружении

Мне нужно знать путь Путь к PHP CLI, "/usr/bin/php" или "/usr/local/bin/php". Я не знаю способов для его получения на windows.

Аватара пользователя
Максим
Сообщения: 4878
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 26 май 2014, 18:09

Пустой путь! Если надо указывать его в скрипте, оставляйте строку пустой.

Аватара пользователя
Dragon_Knight
Сообщения: 581
C нами: 4 года 3 мес
Контакты:

Непрочитанное сообщение Dragon_Knight » 26 май 2014, 18:12

function_exists - проверяет наличие функции а не её состояние. Это между прочем в доках даже выделено в рамочку.

Мне нужно знать путь Путь к PHP CLI, "/usr/bin/php" или "/usr/local/bin/php".

Причём тут линуксовые пути вообще? у Вас Windows, вот и указывайте пути виндовые.

CheF85
Сообщения: 7
C нами: 2 года 6 мес

Непрочитанное сообщение CheF85 » 26 май 2014, 18:21

у Вас Windows, вот и указывайте пути виндовые

С удовольствием укажу какие угодно. Я спрашиваю что указывать или как узнать что указывать.
Если интересно, то описание по настройке модуля вот тут:
http://hwdmediashare.co.uk/blog/231-php-cli-automatic-conversion, но там все команды выполняют из консоли (на линуксе), поэтому и встал вопрос как сделать тоже самое используя windows.

Аватара пользователя
Dragon_Knight
Сообщения: 581
C нами: 4 года 3 мес
Контакты:

Непрочитанное сообщение Dragon_Knight » 26 май 2014, 18:23

А посмотреть по папкам религия не позволяет что ли?
Например: "C:\\OpenServer\\modules\\php\\PHP-5.4.16\\"

Аватара пользователя
Максим
Сообщения: 4878
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 26 май 2014, 18:28

Dragon_Knight писал(а):А посмотреть по папкам религия не позволяет что ли?
Например: "C:\\OpenServer\\modules\\php\\PHP-5.4.16\\"


Зачем же вы такие дурные советы даёте, при таком раскладе никакой портативности нет. Стоит переместить опенсервер в другую папку и всё, тютю. Я уже ему ответил, что путь нужно оставлять пустым. "Путь" находится в окружении и движок сам подхватит PHP при попытке доступа через функцию EXEC. Ну если он не читает мои ответы, то пусть указывает там что хочет, его дело :mrgreen:


Вернуться в «Модули и инструменты»

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и 0 гостей