Setting up phpweb for local development

See https://github.com/php/web-php/#local-development

Alternatively, the generated files can also be fetched from your nearest mirror, see the following instructions

How to create a PHP.net mirror

Setting up an official (or unofficial) mirror is described within the official mirror page. However, setting up your own mirror via SVN is possible too and is especially helpful for those working on the PHP website.

I'm lazy. Just give me something to execute

Save the following shell script as IcanHazPHPWeb.sh Then execute sh ./IcanHazPHPWeb.sh And wait for ca 10 minutes. (took 7m30.871s on my box)

mkdir ~/php.net
cd ~/php.net
# Checkout the english manual sources
git clone https://github.com/php/doc-en.git
# Checkout the actual website (does not include /distribution, thats a gigantic separate repo)
git clone https://github.com/php/web-php.git phpweb
cd phpweb
# Some files are pre-generated on master.php.net for various reasons
(cd include && for i in countries.inc last_updated.inc mirrors.inc pregen-confs.inc pregen-events.inc pregen-news.inc; do wget "http://www.php.net/include/$i"; done;)
(cd backend && for i in ip-to-country.db ip-to-country.idx; do wget "http://www.php.net/backend/$i"; done;)
cd ..
# Install PhD and build the manual
cd doc-en
php doc-base/configure.php
pear install doc.php.net/phd_php
phd -d doc-base/.manual.xml -P PHP -f php
cd ..
cd phpweb
# Symlink the generated english documentations from our PhD build dir
(cd manual && ln -s ~/php.net/doc-en/output/php-web en)
echo "Now copy&paste the VirtualHost config from http://php.net/mirroring.php#settings"
echo "Fill out the 'template' and restart apache"

Note: To see the “new look”, add ?beta=1 after the url, or enable the cookie from /my.php

  1. Make a virtual host, see The official mirror page
  2. If wanting the PHP Manual too, either:
web/mirror.txt · Last modified: 2021/03/29 11:13 by sergey