svn: /web/php/trunk/ get-involved.php
| From: | Hannes Magnusson | Date: | Fri, 01 Jul 2011 21:31:37 +0000 |
| Subject: | svn: /web/php/trunk/ get-involved.php | ||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-11425@lists.php.net to get a copy of this message | ||
bjori Fri, 01 Jul 2011 21:31:37 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=312782
Log:
Slight improvement for dependencies installation and configure procedures
Changed paths:
U web/php/trunk/get-involved.php
Modified: web/php/trunk/get-involved.php
===================================================================
--- web/php/trunk/get-involved.php 2011-07-01 21:09:38 UTC (rev 312781)
+++ web/php/trunk/get-involved.php 2011-07-01 21:31:37 UTC (rev 312782)
@@ -18,18 +18,49 @@
<h2>Improving PHP</h2>
<p>
- On Linux you'll need have the following
+ This particular article assumes you are running <i>Ubuntu Linux</i>.
+</p>
+<p>
+ To get a working build environment you need to run the following command;
<ul>
- <li>autoconf</li>
- <li>automake</li>
- <li>gcc</li>
- <li>bison</li>
- <li>flex</li>
- <li>re2c</li>
+ <li>sudo apt-get build-dep php5</li>
</ul>
+For any extension that requires 3rd party libraries you need to install those libraries.
+The simplest way to accomplish that is to to use <em>apt-get</em> to install the Ubuntu
build dependencies for that particular extension. For example, if you want to build PHP with <a
href="/manual/intl">intl</a> support you have to run;
+ <ul>
+ <li>sudo apt-get build-dep php5<em>-intl</em></li>
+ </ul>
+to install the ext/intl dependencies.
</p>
<p>
-Once you have those tools installed you'll need to checkout PHP from SVN, configure and build
it;
+To actually build PHP with ext/intl support you need to configure PHP to enable it, f.e.
+ <ul>
+ <li>./configure --enable-intl</li>
+ </ul>
+ The rule of thumb for configuring PHP is;<br />
+ <ul>
+ <li>If its a pure PHP functionality use
<em>--enable</em>extension-name<br />
+ Example;
+ <ul>
+ <li>./configure --enable-soap</li>
+ </ul>
+ </li>
+ <li>And for extensions wrapping external libraries use
<em>--with</em>-extension-name<br />
+ Example;
+ <ul>
+ <li>./configure --with-m--with-pgsql</li>
+ </ul>
+ </li>
+ </ul>
+ But as you saw with ext/intl, rules are meant to be broken - so you <em>should</em>
check <i>./configure --help</i> first.<br />
+ When PHP encounters unknown configure argument you will be notified in the end, so you can
modify your arguments and re-run ./configure before executing <em>make</em>.
+</p>
+<p>
+PHP creates a script called <em>config.nice</em> after every successful
<em>./configure --some --arguments</em> so you don't have to remember all the
options you passed to ./configure every time you want to rebuild PHP, running
<em>./config.nice</em> will do that for you
+</p>
+
+<p>
+Once you have the build dependencies installed you'll need to checkout PHP from SVN, configure
and build it;
<ul>
<li>svn co https://svn.php.net/repository/php/php-src/branches/PHP_5_4
php54</li>
<li>cd php54</li>