Баг с PHP // как пропатчить PHP ?
Megido 23 февраля, 2012 - 17:41
наткнулся на вот такой вот баг
Strict Standards: Declaration of PDO_::prepare() should be compatible with that of PDO::prepare() in /var/www/rotor/includes/start.php on line 109
это выплывает в скриптах какие используют pdo_mysql , но только в новых версиях пхп
вот баг и патч к нему
https://bugs.php.net/bug.php?id=52003
но вот проблема в том что я не знаю как пропатчить сам пхп, да и нашел только один из двух файлов какие нужно пропатчить.
нашел первый файл по этому пути
/usr/lib64/php5.3/include/php/ext/pdo
но патчить его не выходит , или я это не правильно делаю, незнаю.
в общем можно подробнее расказать как решить проблемму?
»
- Для комментирования войдите или зарегистрируйтесь
Лучше патчить через ебилд, но
Лучше патчить через ебилд, но сначала надо отредактировать сам ебилд.
OS: Gentoo KDE4
Kernel: x86_64 Linux 4.0.5-gentoo
CPU: Pentium Dual-Core CPU E6500 @ 2.933GHz
GPU: GeForce GT 630/PCIe/SSE2
RAM: 3956MB
Since 2011
(*)
По ссылке, которую вы предоставили, есть патч (от 2010-06-06) на ДВА файла.
Эти файлы (ext/pdo/pdo_dbh.c и ext/pdo/pdo_stmt.c) будут лежать внутри /var/tmp/portage/ после шага
ebuild путь/к/файлу-ebuild unpack
, если вы станете выполнять шаги, описанные в http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=3&chap=6После шага
unpack
зайдите в /var/tmp/portage/, найдите файлы ext/pdo/pdo_dbh.c и ext/pdo/pdo_stmt.c, исправьте их (если нужно), и переходите к шагуcompile
. После шаговinstall + qmerge + clean
у вас будет "пропатченный" PHP.Читаем сюда -
Читаем сюда - http://mrcat.ru/advanced-portage и вникаем, как с помощью ШТАТНЫХ СРЕДСТВ научить портаге накладывать наши кастомные патчи куда угодно.
ЗЫ. Ох уж мне эта школота - "изобретатели"...
Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"
(*)
То есть мою ссылку на gentoo.org вы посчитали НЕШТАТНЫМ СРЕДСТВОМ, а ваш src_autopatcher(), который матчит "*.patch" - то есть накладывает ОДИН И ТОТ ЖЕ ПАТЧ вне зависимости от того, какая ВЕРСИЯ ПАКЕТА собирается сейчас, ДАЖЕ НА ТЕ, НА КОТОРЫЕ НЕ НАДО - это вы посчитали ШТАТНЫМ СРЕДСТВОМ. Хм. Окей. Пользуйтесь "Моментом" дальше.
Ox уж мне эти школьники с
Ox уж мне эти школьники с клеем "Момент" и их учителя, недочитавшие доков ;)
Узнайте уж про epatch_user и его штатное применение и перестаньте собачится
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
ок
а поведай нам про штатное применение, мастер
ничего, что не во всех ебилдах оно есть?
то есть придётся в /etc/portage/env/${CATEGORY}/{PN} (можно ещё и /${PV} добавить) копипастить src_prepare и добавлять эту функцию
это аналогично правке ебилда, но делает ненужным digest/manifest
что не есть удобно
а способ предложенный по ссылке легко усовершенствуется добавлением пути с версией или даже ${PF}
и требует просто положить патч в нужную диру, в то время как epatch_user, если отсутствует в ебилде, требует ещё и функцию перепиливать
расскажи мне про штатное применение, а то я, видимо, не постиг ещё дзен
ewarn "Please note that this
Насчет того что нету - вы маленько соврамши;
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
конечно же
сам документацию не читаешь?
С какой целью интересуешься?
С какой целью интересуешься?
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
как это с "какой"?
ты говоришь, что я соврамши
а доки и ебилды лишь подтверждают мои слова
только вот доками, как раз, тыкал ты
вот я и решил поинтересоваться, ты сам их не читал или читал но забыл?
оверхед же
сначала
ebuild трам/пам/пам/ебилд unpack
потом патчим
ebuild трам/пам/пам/ебилд merge
и всё
зачем руками все шаги проходить?
и ebuild умеет несколько шагов выполнять - например:
ebuild трам/пам/пам/ебилд unpack prepare compile install qmerge clean
отработает так же, как если бы ты каждый шаг выполнял руками
но этот способ слишком много лишних движений заставляет делать, причём для каждого такого случая, хотя это работает, конечно
Это какие то технологии
Это какие то технологии времен портаге 1.0 ;) - все уже гпраздо круче
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
это технологии
это технологии текущего
расскажи-ка про "гораздо круче"
а вообще, это довольно удобно при напилинге ебилда