Конфигурация Phing и Wordpress

Я использую Phing, чтобы отправить установку Wordpress на свой рабочий сервер. Можно ли определить свойства wp-config внутри моего файла сборки, а затем попросить phing заменить содержимое wp-config для использования этих переменных?

Нравится:

<property name="prod.db_name" value="wordpress" />
<property name="prod.db_user" value="root" />
<property name="prod.db_password" value="toor" />
<property name="prod.db_host" value="prod.host.com" />

Затем мне нужна задача phing, которая принимает эти значения и заменяет мой wp-config правильными свойствами.

Как мне это сделать?

Спасибо


person alexn    schedule 10.06.2009    source источник


Ответы (1)


Да, думаю, это так. Поиск в документации по phing привел меня к CopyTask (приложение B) и фильтру ReplaceRegexp ( приложение D2).

Попробуйте включить эту задачу в свою цель сборки (после определения свойств):

<copy file="./config-sample.php" tofile="./config.php">
  <filterchain>
    <replaceregexp>
      <regexp pattern="(define\('DB_NAME', ')\w+('\);)" replace="\1${prod.db_name}\2"/>
      <regexp pattern="(define\('DB_USER', ')\w+('\);)" replace="\1${prod.db_user}\2"/>
      <regexp pattern="(define\('DB_PASSWORD', ')\w+('\);)" replace="\1${prod.db_password}\2"/>
      <regexp pattern="(define\('DB_HOST', ')\w+('\);)" replace="\1${prod.db_host}\2"/>
    </replaceregexp>
  </filterchain>
</copy>

Эта задача скопирует config-sample.php (предоставленный в дистрибутиве wordpress) в config.php, выполняя преобразование файла с помощью фильтров замены регулярных выражений, таким образом перезаписывая параметры примера желаемыми значениями.

Возможно, вы захотите настроить и другие параметры, такие как кодирование и сопоставление БД, параметры безопасности (по крайней мере, те), префикс таблицы, язык ...

person instanceof me    schedule 16.06.2009
comment
@streetpc Но не могли бы вы сказать мне, как это сделать с тем же файлом без использования операции ‹копирования? - person barbushin; 13.10.2011
comment
@SeniorDev Похоже на ReflexiveTask (приложение B) phing.info/docs/guide/current/chapters/appendixes/ - person instanceof me; 18.10.2011