LINUX.ORG.RU

Как быстро определить все модули, необходимые для работы сайта?


0

0

Есть некоторых сайт на пэхэпэ4. Очень древний, корявый, неизвестной мне иерархии. Что нужно grep'ать (или что вообще нужно сделать), чтобы быстро определить все php-модули, необходимые для его работы?

★★★★★
Ответ на: комментарий от sdio

>> какой дистрибутив ?
>Интересно зачем тебе это?


ну как же, что нибудь типа pkg_info | grep php4 и сидишь довольный :]

если только предыдущий администратор дружил с головой

hizel ★★★★★
()
Ответ на: комментарий от hizel

И что вам это даст?

ТС'у нужно узнать, какие модули используются в сайте, т.е. в PHP коде, а не какие модули PHP установлены в системе.

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

иногда этого достаточно:
se@www3 ~ >pkg_info | grep php4
php4-4.4.9 PHP Scripting Language (Apache Module and CLI)
php4-bcmath-4.4.9 The bcmath shared extension for php
php4-bz2-4.4.9 The bz2 shared extension for php
php4-ctype-4.4.9 The ctype shared extension for php
php4-exif-4.4.9 The exif shared extension for php
php4-filepro-4.4.9 The filepro shared extension for php
php4-ftp-4.4.9 The ftp shared extension for php
php4-gd-4.4.9 The gd shared extension for php
php4-iconv-4.4.9 The iconv shared extension for php
php4-mbstring-4.4.9 The mbstring shared extension for php
php4-mcrypt-4.4.9 The mcrypt shared extension for php
php4-mysql-4.4.9 The mysql shared extension for php
php4-overload-4.4.9 The overload shared extension for php
php4-pcre-4.4.9 The pcre shared extension for php
php4-posix-4.4.9 The posix shared extension for php
php4-session-4.4.9 The session shared extension for php
php4-snmp-4.4.9_2 The snmp shared extension for php
php4-tokenizer-4.4.9 The tokenizer shared extension for php
php4-xml-4.4.9 The xml shared extension for php

а все остальное обычно суют рядом со сцайтом

hizel ★★★★★
()
Ответ на: комментарий от hizel
se@www3 ~ >pkg_info | grep php4
php4-4.4.9 PHP Scripting Language (Apache Module and CLI)
php4-bcmath-4.4.9 The bcmath shared extension for php
php4-bz2-4.4.9 The bz2 shared extension for php
php4-ctype-4.4.9 The ctype shared extension for php
php4-exif-4.4.9 The exif shared extension for php
php4-filepro-4.4.9 The filepro shared extension for php
php4-ftp-4.4.9 The ftp shared extension for php
php4-gd-4.4.9 The gd shared extension for php
php4-iconv-4.4.9 The iconv shared extension for php
php4-mbstring-4.4.9 The mbstring shared extension for php
php4-mcrypt-4.4.9 The mcrypt shared extension for php
php4-mysql-4.4.9 The mysql shared extension for php
php4-overload-4.4.9 The overload shared extension for php
php4-pcre-4.4.9 The pcre shared extension for php
php4-posix-4.4.9 The posix shared extension for php
php4-session-4.4.9 The session shared extension for php
php4-snmp-4.4.9_2 The snmp shared extension for php
php4-tokenizer-4.4.9 The tokenizer shared extension for php
php4-xml-4.4.9 The xml shared extension for php

А какой смысл ставить это все, если нужно всего-то два-три модуля?

edigaryev ★★★★★
()
Ответ на: комментарий от edigaryev

Вот именно. Я переношу сайты с виртуального хостинга на виртуалки. На виртуальном хостинге, конечно, куча модулей установлено. Но не устанавливать же их все.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от anonymous

да, я тоже так всегда делал. Главное удостоверится что весь код протестирован.

provaton ★★★★★
()
Ответ на: комментарий от anonymous

Плюсую. Тем более что могут еще использоваться библиотеки с pear.
Но тут появляется следующая, почти не разрешимая, проблема -- заметить нехватку модуля/библиотеки можно спустя некоторое время, не тестировать же проект полностью.

urxvt ★★★★★
()
Ответ на: комментарий от Obey-Kun

>Блин, а как вообще модули пхп подгружаются? Разве это не должно быть как-то отражено в коде?

В пхп нет namespaces. Единственный способ "импорта" чего-то, это include и require, но в для модулей оно не используется.

anonymous
()
Ответ на: комментарий от edigaryev

> И что вам это даст?


> ТС'у нужно узнать, какие модули используются в сайте, т.е. в PHP коде, а не какие модули PHP установлены в системе.


то, что в нормальных дистрибутивах(RHEL) автоматически вытягиваются нужные пакеты.

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

>то, что в нормальных дистрибутивах(RHEL) автоматически вытягиваются нужные пакеты.

Что вы имеете ввиду под словом "вытягиваются"?

edigaryev ★★★★★
()
Ответ на: комментарий от provaton

Я понимаю :). На шаред хостинге в php.ini включается все подряд.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от xpahos

> то, что в нормальных дистрибутивах(RHEL) автоматически вытягиваются нужные пакеты.

Щито?

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

Ну там файл инклудится просто, а php ищет его в списке директорий (такая же история как и с $PATH), а если установить из репов pear какой-то класс то он и будет в одном из каталогов поиска.

Можно попробовать проделать следующую процедуру:
pear list -- получить список установленных пакетов
pear install -- установить те же пакеты на новом сервере

urxvt ★★★★★
()
Ответ на: комментарий от xpahos

мля, я сайты с шэред хостинга переношу на виртуалки

на шэред хостинге установлено дофига модулей — и нужные, и ненужные

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

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

Nefer
()
Ответ на: комментарий от Obey-Kun

> на шэред хостинге установлено дофига модулей — и нужные, и ненужные

Ну тогда скорее всего никак. Вроде как по опыту я не помню там ни инклудов, ни каких-нить импортов.

xpahos ★★★★★
()

может etags, а то грепать уж больно гиморно

dimon555 ★★★★★
()

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

iSage ★★★★
()
Ответ на: комментарий от Nefer

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

boombick ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.