设为首页 收藏本站
查看: 629|回复: 0

[经验分享] Setting up a PHP 5 development environment with Ap

[复制链接]

尚未签到

发表于 2017-4-5 10:35:52 | 显示全部楼层 |阅读模式
  http://articles.techrepublic.com.com/5100-10878_11-5290304.html
  After months of anticipation, PHP 5.0has finally
arrived. This latest rewrite of what was always an extraordinarily
full-featured scripting language has a bunch of changes that will endear it to
both novice and experienced programmers: a built-in SQLite database, more
consistent implementation of the XML API through libxml2, a redesigned object
model, and a brand-new Zend Engine.
  You definitely want to begin using PHP 5.0 for your development
activities. And since you're going to have to compile and install it anyway,
why not upgrade your entire LAMP (Linux, Apache, MySQL, PHP) development
environment? After all, there have been a series of new releases over the past
few months: MySQL 4.1.3, with support for character sets, collations, subqueries,
and transaction savepoints; Apache 2.0 is stable; and your Linux vendor almost
certainly has a new distro you're dying to try out.
  I'm going to run you through the process of setting up a
cutting-edge development environment for Web scripting with PHP, using PHP 5.0,
Apache 2.0, and MySQL 4.1.3. Start your terminals and warm up the compilers. Let's get going!

The basics
  I'm assuming that you already have a version of Linux
installed and it's operational. Make sure you have a working C compiler, or you
won't be able to proceed.
  You also need to make sure you have downloaded all the
relevant software:


  • Thelatest binary version of MySQL (currently MySQL 4.1.3-beta), availablefrom MySQL.com
  • Thelatest version of PHP (currently PHP 5.0.0), from Php.net
  • Thelatest version of Apache 2 (currently Apache 2.0.50), from Apache.org
  Important note: As of this writing, the combination of
Apache 2.0 and PHP 5.0 is not completely thread-safeand should not be used together in
high-volume production systems. However, the combination should be fine for development
systems.
  You may also need the following support libraries:


  • Thelatest libxml2 library (currently libxml2 2.6.11), from XmlSoft.org
  • Thelatest zlib library (currently zlib 1.2.1), from Gzip.org
  Copy all of these to your /tmp directory and decompress them as
follows:

$ cd /tmp
$ tar -xzvf mysql-standard-4.1.3-beta-pc-linux-i686.tar.gz
$ tar -xzvf php-5.0.0.tar.gz
$ tar -xzvf httpd-2.0.50.tar.gz
$ tar -xzvf libxml2-2.6.11.tar.gz
$ tar -xzvf zlib-1.2.1.tar.gz
Installing the support libraries
  First, check if you need to install libxml2 or zlib. PHP 5.0
requires libxml2 2.6.0 (or better) and zlib 1.0.9 (or better). If you don't have
both of these, keep reading; otherwise, skip to the next section.
  To begin, compile and install the libxml2 XML parser, which
provides the base for the new XML API in PHP 5.0:
  $ cd /tmp/libxml2-2.6.11
$ ./configure
$ make && make install
  At the end of this, libxml2 should be installed under
/usr/local/. If you want this installed elsewhere, you should specify the --prefixoption to the configurescript in the previous step.
  Next, do the same for zlib, which provides compression
services for a number of extensions:
  $ cd /tmp/zlib-1.2.1
$ ./configure
$ make && make install
  At the end of this, zlib should also be installed under
/usr/local/. As before, you can use the --prefix
option to install it somewhere other than the default.

Installing MySQL
  With the support libraries now available, we can proceed to
install MySQL. PHP 5.0 no longer comes with its own version of the MySQL client
library because of licensing conflicts (see the database documentationfor more details), so to add MySQL
support to your PHP build, you have to link it against an already-existing
MySQL installation.
  PHP 5.0 comes with a brand-spanking-new MySQL extension
called MySQLi (MySQL Improved), which supports all the new features in MySQL.
However, this extension is available only for MySQL 4.1.2 or better, which is
still in beta. You should use it only on development systems. If you're
installing PHP on a production system, you can, of course, install an older,
more stable version of MySQL and use the older MySQL extension that doesn't
support the new capabilities.
  Detailed installation instructions for MySQL are provided in
the download archive, but here's a fast recap:


  • Move the decompressed MySQL archive to /usr/local/mysql.
    $ mv /tmp/mysql-standard-4.1.3-beta-pc-linux-i686
    /usr/local/mysql
  • Create a user and group for MySQL.
    $ groupadd mysql
    $ useradd -g mysql mysql
  • Initialize the MySQL grant tables with the provided
    mysql_install_db script.
    $ /usr/local/mysql/scripts/mysql_install_db
    --user=mysql [/output]
  • Give the MySQL user rights to the MySQL directory.
    $ chown -R root  /usr/local/mysql
    $ chgrp -R mysql /usr/local/mysql
    $ chown -R mysql /usr/local/mysql/data
  • Start the MySQL server.

$ /usr/local/mysql/support-files/
mysql.server start [/output]
  At this point, also check to make sure that the MySQL server
socket has been created in /tmp—it usually has a name like mysql.sock
.

Installing Apache
  There are two ways of using PHP with Apache: as a dynamic
module that can be loaded into the Web server at run-time, or as a static
module that is directly compiled into the Web server code. For this tutorial, I'm
going with the first option.
  To enable dynamic loading of PHP as an Apache 2.0 module,
the Apache server must be compiled with Dynamic Shared Object (DSO) support.
This feature can be enabled by passing the --enable-so
option to the Apache 2.0 configure
script:

$ cd /tmp/httpd-2.0.50
$ ./configure --prefix=/usr/local/apache2 --enable-so $ make
&& make install
  This should configure, compile, and install the server to
/usr/local/apache2.

Installing PHP
  With both MySQL and Apache installed, the final step is to
compile and install PHP. The most important step in this process involves
providing the PHP configurescript
with a list of extensions to activate, as well as the correct file paths for
the external libraries needed. Listing A
contains an example.
  This might look gut-wrenchingly complicated, but it's really
not:


  • The --prefixargument sets theinstallation path for the PHP 5.0 binaries.
  • The --with-apxs2argument tells PHPwhere to find Apache 2.0 and its apxsscript (used to handle extensions).
  • The --with-libxml-dirand --with-zlib-dirarguments tell PHPwhere to locate the libxml2 and zlib libraries. Note that you need touse these options only if you compiled and installed the libraries yourself; ifyou're using your distribution's default libraries, PHP should be able tofind them automatically.
  • The --with-mysqlargument activates theregularMySQL extension. Notethat in PHP 5.0, this is not active by default (as it was in PHP 4.0) andmust be explicitly named in configureto be activated.
  • The --with-mysqliargument activatesthe new MySQL Improved extension (for MySQL 4.1.2+ only), and must pointto the mysql_configscript thatcomes with MySQL 4.x.
  • The --with-gdargument activates the GDextension for dynamic image creation.
  • The --with-zlibargument activates theZLIB compression library for on-the-fly data compression.
  • The --enable-socketsargument activatessocket communication features.
  • The --enable-soapargument activatessupport for SOAP and Web services.
  A number of other options and extensions are also possible—try

$ ./configure --help
  for a complete list.
  Once the configure
script finishes processing, you can compile and install PHP.
  $ make
$ make install
  Note that the installation process is intelligent enough to
place the PHP module in the correct directory for Apache 2.0 to find it.

Configuring and testing Apache with PHP
  Done? Well, not quite. The final step consists of
configuring Apache to recognize PHP scripts (named with the extension .php) and
then hand them over to the PHP interpreter for processing. To do this, edit the
Apache configuration file, /usr/local/apache2/conf/httpd.conf, and add the
following line to it:

AddType application/x-httpd-php .php
  Save the file and then start the server:

$ /usr/local/apache2/bin/apachectl start [/output]
  Tip: You can add the command line above to your startup
scripts: /etc/rc.local is a good bet—so that the server starts automatically on
next boot.
  You can now test whether all is working as it should by creating
a simple test script in the server's document root: /usr/local/apache2/htdocs/.
  Name the script test.php
,
and populate it with these lines:

<?php
phpinfo();
?>
  Save the file and then point your browser to http://localhost/test.php
.
  You'll see a page containing information on the PHP build,
like this:

  Figure A



  In case you don't see this, try troubleshooting
with the installation guide
. And if you do...well, your cutting-edge LAMP
environment is now good to go! Have fun!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-360461-1-1.html 上篇帖子: 用PHP制作静态网站的模板框架 下篇帖子: 将PHP应用发布为Azure Cloud service
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表