PHP教程之Linux+Apache+Mysql+PHP典范设置装备摆设
大部分语言的基础,不是说c有多好,而是c相对起手容易学,让你认为这个是编程语言,apache|mysql 调试情况:Redhat9.0 Apache1.3.29 Mysql3.23.58 PHP4.3.4 Linux体系的装置我就不讲了,这是根基功,其实这篇文章在相似Redhat的其他linux也应当通用,人人只需把握我供应的办法就行。记得装置Redhat9。0的时分不要装置体系默许的apache,mysql和php和相干的软件。已装置的请用rpm -e * 删除已装置的包。1.装置Mysql3.23.58
其实厚道说直接装置Mysql官方网站供应的rpm包也是一个对照可行的举措,他的官方网站的rpm包的供应根基跟tar包刊行是同步的,这点我对照喜好,最少装置rpm包的在前面的调试中不会呈现mysql库文件找不到的情形。但这里仍是有需要讲一下自界说装置的步调,究竟网友自界说装置的还说挺多的。
软件获得:http://www.mysql.com/downloads/index.html
装置步调:
tar zxvf mysql-3.23.58.tar.gz cd mysql-3.23.58./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysqlmakemake install#prefix=/usr/local/mysql mysql装置的方针目次#sysconfdir=/etc my.ini设置装备摆设文件的途径#localstatedir=/var/lib/mysql 数据库寄存的途径装置完今后要初始化数据库,固然你是晋级的话不必做这步;/usr/local/mysql/bin/mysql_install_db假如体系没有mysql这个用户的话,最好做以下这步:useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql 然后我启动mysql/usr/local/mysql/bin/safe_mysqldok,先看看mysql可否正常任务
mysql -uroot mysql
普通情形下都是不克不及正常链接数据库,毛病提醒通常是:
ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
其实网上人人问的最多的都是全部成绩,说甚么链接不到mysqld.sock,其实人人无妨看看mysql的毛病日记就分明怎样回事,我这里的毛病日记是在/var/lib/mysql/*.err.
你会发明mysql只所以不克不及启动,是由于/var/lib/mysql的权限不答应mysql办事会见,英文mysql默许是挪用mysql用户来启动办事的,好了,既然晓得是甚么缘由找到不克不及启动,那就复杂了。咱们只需chown -R mysql:mysql /var/lib/mysql就行,假如仍是启动不了,再渐渐调试权限,归正普通启动不了都是权限的成绩。
假如人人仍是不克不及启动不了的话,那就用我的对照繁琐的权限的设置,归正我每次都是这么做的,普通不会有成绩,见下:
chown -R root /usr/local/mysql chgrp -R mysql /usr/local/mysql chown -R root /usr/local/mysql/bin chgrp -R mysql /usr/local/mysql/bin chgrp -R mysql /var/lib/mysql chmod 777 /var/lib/mysql chown -R root /var/lib/mysql/mysql chgrp -R mysql /var/lib/mysql/mysql chmod 777 /var/lib/mysql/mysql chown -R root /var/lib/mysql/mysql/* chgrp -R mysql /var/lib/mysql/mysql/* chmod 777 /var/lib/mysql/mysql/* chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a做完下面的步调,然后把你编译目次的一个剧本COPY曩昔
cp support-files/mysql.server /etc/rc.d/init.d/mysqld chkconfig --add mysqld 用ntsysv设置使mysql每次启动都能主动运转。
好了,至此mysql装置终了,你可以如许起动你的mysql办事
/etc/rc.d/init.d/mysqld start
上面这步对照关头:
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
人人可以不做这步,大可以在编译其他软件的时分自界说myslq的库文件途径,但我仍是喜好把库文件链接到默许的地位,如许你在编译相似PHP,Vpopmail等软件时可以不必指定mysql的库文件地址。
2.装置Apache1.3.29。
我没有选择装置Apache2.0是我对他仍是不宁神,由于网上最新发布的apache的破绽根基上是针对2.0,固然人人可以本人选择装置响应的版本。我这里讲的都是采取DSO静态编译的办法编译Apache.
tar zvxf apache_1.3.29.tar.gzcd apache_1.3.29修正src/include/httpd.h 增大最大线程数#define HARD_SERVER_LIMIT 256改成#define HARD_SERVER_LIMIT 2560保留加入编译apache./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite --enable-shared=max --htdocsdir=/var/www &&make &&make install
#这里咱们经由过程enable-module参数告知设置剧本,咱们需求启动so和rewrite模块,so模块是用来提DSO撑持的apache中心模块,而rewrite模块则是意图完成地址重写的模块,因为rewrite模块需求DBM撑持,假如在初度装置时没有编译进apache,今后需求用到时需求从头编译全部apache才可以完成。为此除非你可以肯定今后不会用到rewrite模块,不然仍是建议你在第一次编译的时分把rewrite 模块编译好。
enable-shared=max
这个参数的感化时编译apache时,把除so之外的一切apache的尺度模块都编译成DSO模块。而不是编译进apache中心内。
好了装置apache很复杂的哦,启动apache看看
/usr/local/apache/bin/apachectl start
然后用ie看http://你的办事器地址。应当能看到熟习的apache羽毛标记。
3.装置PHP4.3.4 软件获得:http://www.php.net/downloads.php tar zvxf php-4.3.4.tar.gzcd php-4.3.4./configure \--prefix=/usr/local/php \--with-mysql=/usr/local/mysql \ --enable-force-cgi-redirect \--with-freetype-dir=/usr \--with-png-dir=/usr \--with-gd --enable-gd-native-ttf \--with-ttf \--with-gdbm \--with-gettext \--with-iconv \--with-jpeg-dir=/usr \--with-png \--with-zlib \--with-xml \--enable-calendar \--with-apxs=/usr/local/apache/bin/apxsmakemake install
#我这里因为办事器需求用到GD库,所以加了一些撑持GD的编译参数,GD直接用了redhat自带的GD库,人人没有装置的话可以从装置盘装置,注重除装置GD之外,还要装置libjpeg,libpng等库文件。别的--with-mysql=/usr/local/mysql指向你装置 mysql的途径。--with-apxs指向apache的apxs文件的途径。
vi /usr/local/apache/conf/httpd.conf查找<IfModule mod_mime.c> 在此局限添加 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 然CPOPY PHP的设置装备摆设文件cp ../php4.3.4/php.ini.dist /usr/local/php/lib/php.ini 修正php.ini文件register_globals = Onok!从头启动一下apache办事器 /usr/local/apache/bin/apachectl restart 然后写个php测试页info.php:内容以下<?php phpinfo(); ?>正常的话,应当能看到php的信息了,祝贺你的Apche+Mysql+PHP装置胜利。
会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。 最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。 真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎, ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
页:
[1]
2