2010年01月24日

Linux VPS Nginx+PHP 安装ionCube

今天下载了一个whmcs,在自己的VPS上测试一下,但是提示:Site error: the file /home/test/whmcs/index.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.

上面的提示是没有安装ionCube的原因。

首先,执行uname -a 查看系统是32位还是64位,打开http://www.ioncube.com/loaders.php页面根据Linux是32位还是64位下载适当的软件包,比如我的是32位的,切换到/usr/local/目录,执行cd /usr/local ,wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz 下载,再执行tar zxvf ioncube_loaders_lin_x86.tar.gz 解压软件包。

修改/usr/local/php/etc/php.ini 在文件尾部添加如下代码:

[ionCube Loader]
zend_extension="/usr/local/ioncube/ioncube_loader_lin_5.2.so" (全文 ...)

  • » 阅读全文...
  • 2009年11月9日

    LNMP - CentOS/RadHat/Debian/Ubuntu下Nginx+PHP+MySQL一键安装包V0.3发布

    LNMP - CentOS/RadHat/Debian/Ubuntu下Nginx+PHP+MySQL一键安装包V0.3发布

    CentOS/RadHat版请到:http://blog.licess.cn/lnmp/

    Debian/Ubuntu版请到:http://blog.licess.cn/lnmp-debian-ubuntu/

    交流论坛:http://bbs.vpser.net/forum-25-1.html

    VPS相关信息请到:http://www.vpser.net/

  • » 阅读全文...
  • 2009年08月26日

    LNMP Debian/Ubuntu下Nginx+MySQL+PHP+phpMyAdmin+Zend一键安装包

    LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。

    LNMP一键安装包 0.4版更新记录:

    • 添加LNMP状态管理
    • 添加PureFTPd状态管理
    • PHP增加suhosin
    • 增加VsFTPd、PureFTPd安装及管理
    • 增强Nginx虚拟主机添加功能,添加多域名、伪静态支持、日志是否启用的功能
    • 升级Nginx到0.7.65、MySQL到5.1.44

    LNMP一键安装包 0.4版下载地址:

    下载版:http://soft.vpser.net/lnmp/lnmp0.4.tar.gz
    完整版:http://soft.vpser.net/lnmp/lnmp0.4-full.tar.gz

    LNMP一键安装包 0.4版安装步骤:

    1、下载LNMP一键安装包:
    可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),如果使用下载版执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.4.tar.gz,如果使用完整版,执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.4-full.tar.gz,执行上述命令后LNMP一键安装包就会被下载到VPS 上。

    2、解压LNMP一键安装包:
    执行tar zxvf lnmp0.4.tar.gz 或者tar zxvf lnmp0.4-full.tar.gz 就会将LNMP一键安装包解压缩。

    3、CentOS下安装步骤
    执行命令 cd lnmp0.4/
    然后再执行./centos.sh ,输入要绑定的域名,回车,再输入要设置的MySQL root的密码,再次回车确认。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。

    4、Debian/Ubuntu下安装步骤
    执行命令 cd lnmp0.4/
    然后32位系统执行./debian.sh ,输入要绑定的域名,回车,再次输入VPS/服务器所在位置:asia、america、europe、oceania或africa,回车,再输入要设 置的MySQL root的密码,回车后,再次回车确认。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。安装大约10分 钟左右需要设置MySQL root用户的密码。

    安装其他组件
    1、安装eAccelerator,执行如下命令:./eaccelerator.sh 就会自动安装并重启web服务。
    2、安装PureFTPd和管理面板,执行如下命令:./pureftpd.sh 就会自动安装PureFTPd,安装完PureFTPd,需要在浏览器执行http://你的域名或IP/ftp/install.php 安装PureFTPd用户管理。

    虚拟主机管理
    1、添加虚拟主机,执行如下命令:./vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开。再输入域名绑定的目录(绝对目录, 如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名),再选择是否添加伪静态规则,默认已经有了 Discuz、Wordpress、Sablog、emlog、dabr,可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名 字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回 车就会自动添加虚拟主机。

    LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
    PureFTPd状态管理 /root/pureftpd {start|stop|restart|kill|status}
    phpinfo : http://$domain/phpinfo.php
    phpMyAdmin : http://$domain/phpmyadmin/
    探针 : http://$domain/p.php"

    LNMP相关目录:
    mysql :   /usr/local/mysql
    php :     /usr/local/php
    nginx :   /usr/local/nginx
    网站目录 :     /home/wwwroot

    注:已经在DiaHostingPhotonVPS(感谢提供测试VPS)、Burst、VPS.net、breezehostRapidxen 及几位lnmp网友提供的VPS上的CentOS 32/64bit、Debian 4/5 32/64bit上测试成功。同时感谢提供测试VPS的商家及网友。

    技术支持
    ————————
    LNMP官网:http://www.lnmp.org/
    作者技术支持邮箱:www@lnmp.org
    技术支持论坛:http://bbs.vpser.net/forum-25-1.html (注册需注明原因,人工审核。)

  • » 阅读全文...
  • 2009年01月19日

    LNMP-Linux下Nginx+MySQL+PHP+phpMyAdmin+eAcelerator一键安装包(2009年11月17日更新)

    LNMP是一个基于CentOS编写的Nginx、PHP、MySQL、phpMyAdmin、eAcelerator一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。

    本页面为LNMP for CentOS的安装方法,Debian/Ubuntu请到:http://blog.licess.cn/lnmp-debian-ubuntu/

    LNMP Ver0.3软件版本说明(2009年11月17日更新添加虚拟主机面板程序):

    Nginx:0.7.63
    PHP:5.2.10
    MySQL:5.1.35
    Zend Optimizer :3.3.9
    eaccelerator:0.9.5.3

    使用说明:

    如果系统预安装Apahce或你已经安装Apache,请先运行yum remove httpd,删除Apache!

    登陆Linux,下载LNMP压缩包,并解压. (一些朋友可能不知道怎么弄,登陆VPS或者主机,

    执行命令 wget http://soft.vpser.net/lnmp/lnmp0.3.tar.gz ,将lnmp0.3.tar.gz下载到VPS中,执行 tar zxvf lnmp0.3.tar.gz 解压LNMP一键安装包)。

    执行命令 cd lnmp0.3

    然后再执行./centos.sh ,输入要绑定的域名,回车后。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、eAcelerator这几个软件。

    注:如果需要安装eAcelerator,执行如下命令:./eaccelerator.sh 就会自动安装。

    如需卸载,执行./uninstall.sh 就会自动卸载Nginx、PHP、MySQL。 

    自动添加虚拟主机:

    如果是11月17日之前下载的lnmp需要修改nginx.conf,再最后一个 }  前加入include vhost/*.conf;

    运行./vhost.sh ,根据提示首先输入域名,再输入目录即可完成添加,直接到创建的目录上传文件即可。

    程序安装路径:

    MySQL :   /usr/local/mysql
    MySQL数据库:/usr/local/mysql/var
    PHP :     /usr/local/php
    Nginx :   /usr/local/nginx
    PHPMyAdmin /home/wwwroot/phpmyadmin
    Web目录    /home/wwwroot

    MySQL默认用户名:root 密码:root

    手动添加虚拟主机:

    修改/usr/local/nginx/conf/nginx.conf 文件

    server

     {

      listen  80;

      server_name  status.lnmp.org;

      location / {

       stub_status on;

       access_log   off;

      }

     }

    后面添加上下面代码:

    server

     {

      listen       80;

      server_name www.lnmp.org;

      index index.html index.htm index.php;

      root  /home/wwwroot/abc;

      location ~ .*\.(php|php5)?$

       {

        fastcgi_pass  unix:/tmp/php-cgi.sock;

        #fastcgi_pass  127.0.0.1:9000;

        fastcgi_index index.php;

        include fcgi.conf;

       }

      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

       {

        expires      30d;

       }

      location ~ .*\.(js|css)?$

       {

        expires      12h;

       }

      access_log   off;

     }

    再执行kill -HUP `cat /usr/local/nginx/logs/nginx.pid`虚拟机就生效了。

    通过下面这几个链接查看phpinfo和管理MySQL

    phpinfo    http://domain.name/phpinfo.php

    phpMyAdmin http://domain.name/phpmyadmin

    PHP探针:  http://domain.name/p.php

    此版本为测试版本,已经在SWVPSDiaVPSRASHOSTthenynoc.com、BoxVPS、VMware CentOS最小化安装 上测试成功。

    演示站点:http://www.vpser.net

    有任何问题请到 http://blog.licess.cn/lnmp/

    QQ交流群:12327692 (已升级高级群,可加) 2群:15762671

    交流论坛: http://bbs.vpser.net/forum-25-1.html

    下载地址:

    集成软件包(所需软件已打包在内):http://soft.vpser.net/lnmp/lnmp0.3.tar.gz

    安装包(程序自动链接网站下载):http://soft.vpser.net/lnmp/lnmp0.3.tar.gz

    友情提示:Linux下操作请注意大小写。

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    LNMP是一个基于CentOS编写的Nginx、MySQL、PHP、phpMyAdmin、eAcelerator一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。

    2009年3月27日发布vsftpd已经安装配置包,下载。地址:http://blog.licess.cn/uploads/200903/vsftpd-for-LNMP.zip

    2009年3月2日修复执行startup.sh时提示:  /bin/bash^M: bad interpreter: No such file or directory 的错误。

    使用说明(2009年3月2日修改):

    登陆Linux,下载LNMP压缩包,并解压. (一些朋友可能不知道怎么弄,登陆VPS或者主机,执行命令 wget http://blog.licess.cn/uploads/200901/LNMP.zip ,将LNMP.zip下载到VPS中,执行 unzip LNMP.zip 解压LNMP一键安装包)。

    执行./down.sh下载LNMP所要的安装包 ,如果执行后提示:-bash: ./down.sh: Permission denied ,这个是因为权限不够引起的,可以执行命令:chmod +x run.sh 来加上执行权限。

    然后再执行./install.sh ,输入要绑定的域名,回车后。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、eAcelerator这几个软件。

    安装vsftp:

    下载vsftpd-for-LNMP.zip:执行 wget http://blog.licess.cn/uploads/200903/vsftpd-for-LNMP.zip

    unzip vsftpd-for-LNMP.zip

    cd vsftpd-for-LNMP

    chmod +x installvsftpd.sh

    ./installvsftpd.sh

    安装完毕后即可使用你的SSH的帐号和密码登录,也可以修改/etc/vsftpd.chroot限制用户在家目录里。默认添加了adminftp用户,但是没有设置密码,可以执行passwd adminftp 来设置密码,或者userdel admintpd 删除用户。

    执行 adduser -d /web/www/user1 -s /sbin/nologin user1  来添加一个不能SSH登录的FTP帐号,家目录为/web/www/user1 但是没有限制,添加限制,请修改/etc/vsftpd.chroot 添加要限制的用户。

    程序安装路径:

    MySQL :   /usr/local/mysql

    PHP :     /usr/local/php

    Nginx :   /usr/local/nginx

    PHPMyAdmin /web/www/phpmyadmin

    Web目录    /web/www

    让Nginx开机后手动执行 /root/run.sh 后Nginx会运行 ,开机自动运行可以运行 LNMP目录下面的 startup.sh 文件即可。

    opt.sh 为优化文件,如果内存小于128MB可以通过执行 ./opt.sh 添加swap分区,并修改时区为东8区。注:并不一定在所有的VPS上都可以添加swap分区,swvps不可以,其他没有测试。

    通过下面这几个链接查看phpinfo和管理MySQL

    phpinfo    http://ip/phpinfo.php

    phpMyAdmin http://ip/phpmyadmin

    此版本为测试版本,已经在SWVPS、thenynoc.com、VMware CentOS最小化安装 上测试成功。

    演示站点:http://bbs.xlinux.org

    有任何问题请到 http://blog.licess.cn/lnmp/

    QQ交流群:12327692 (已升级高级群,可加) 2群:15762671

    交流论坛: http://bbs.vpser.net/forum-25-1.html

    下载地址:http://blog.licess.cn/uploads/200901/LNMP.zip 

    友情提示:Linux下操作请注意大小写。

    VPS初始化及Nginx+MySQL+PHP/PHPMyAdmin安装优化

  • » 阅读全文...
  • 2009年01月7日

    Linux下Nginx+PHP+MySQL+phpMyAdmin+eAcelerator自动编译安装软件 预告

    此软件基于CentOS,主要应用与VPS,并在SWVPS.comthenynoc.com上测试成功.

    软件已发布:LNMP-Linux下Nginx+PHP+MySQL+phpMyAdmin+eAcelerator一键安装包

    此软件包含Nginx、PHP、MySQL、phpMyAdmin、eAcelerator,方便管理员已经想在自己的VPS上或独立主机上安装使用Nginx的站长使用。

    本软件将于近期发布,敬请期待......

  • » 阅读全文...
  • 2008年12月12日

    Linux下Nginx+MySQL+PHP自动安装程序(AutoMPN)

    AutoMPN是基于mysql+php(fastcgi)+nginx的动态WEB服务器,现在关于nginx的文件很多,也有很多站长装apache换成了nginx系统,这个版本专门为自己的swvps所做,安装blog还是非常不错的

    使用说明:

    down.sh 安装所有的安装文件

    autompn 自动安装

    网址:http://code.google.com/p/autosetup

    下载地址:http://autosetup.googlecode.com/files/AutoMPN-0.0.1.tar.gz

    安装:

    wget -c http://autosetup.googlecode.com/files/AutoMPN-0.0.1.tar.gz

    tar -zxvf AutoMPN-0.0.1.tar.gz

    cd AutoMPN-0.0.1

    ./down.sh

    ./autompn

  • » 阅读全文...
  • 2008年11月22日

    强大的PHP的IDE--NuSphere PHPEd 5.5 Build 5517 crack(破解版)

    PhpED 通过无与伦比的PHP调试和压缩能力,以及一个新的NuSOAP web服务向导成为了PHP领域的领军产品。更加强大的Project Manager使得发布站点和应用程序比以前更加容易。现在可以在线程级别对正在运行或者开发中的程序进行测试和调校。而且,对PostgreSQL和 MySQL数据库的本地支持为PHP使用开源数据库提供了一个广泛的环境。

    已测试,是破解版,且已经支持中文。点击下载NuSphere PHPEd 5.5破解版

    解压密码不定时更新:今日密码是:blog.licess.cn

    9a218af2phpidenewf.png

  • » 阅读全文...
  • 2008年11月13日

    用穿越火线快速入门php面向对象

    1. <?php  
    2. /*  
    3. *用穿越火线快速入门php面向对象!  
    4. *php目前已经成为国内的主流web developer的首选开发语言,其强大的面向对象容易使初学者找不到思绪,一头雾水!  
    5. *,借助此文希望对初学者有所帮助,假设Crossfire用php来开发.  
    6. * 1类与对象  
    7. */ 
    8. class Crossfire  
    9. {  
    10.         public $Category='1,2,3'//枪械种类,3个选择武器类别  
    11.         public $Weapon='ak|awp|m4a1';//购买的武器,拥有的武器  
    12.         public $Flashlight=true;//是否购买闪光弹  
    13.         public $Bomb=false; //购买了闪光同等条件下不能再次购买手雷  
    14.         function attack()  
    15.         {  
    16.                 //攻击的代码 $this->Weapon;使用武器  
    17.     }  
    18.         function repair()  
    19.         {  
    20.                 //修理武器的代码  
    21.         }  
    22.         function destroy()  
    23.         {  
    24.                 //武器坏了自动销毁代码  
    25.         }  
    26.         /*  
    27.          * 我们把cf看成是一个类,cf里面有主武器,副武器,枪械,刀类,弹物,防弹衣,喷图等等..  
    28.          * 以上都是类中的成员属性,假如武器坏了,那么我们就得维修,维修就是类的成员方法!  
    29.          * 每种枪械都有不同的威力,不同的子弹数量,大小不同但是都是武器类,这是类和对象的关系(类的实例化结果就是对象)。  
    30.          *   
    31.          */ 
    32.           
    33.         function __construct()  
    34.         {  
    35.                 //武器维修 $this->repair();  
    36.         }  
    37.         function __destruct()  
    38.         {  
    39.                 //武器超过耐久自动消失 $this->destroy();  
    40.         }  
    41.         private function buy()  
    42.         {  
    43.                 //购买武器私有属性代码  
    44.         }  
    45.         private function __get()  
    46.         {  
    47.                 //调用购买的武器代码  
    48.         }  
    49.         private function __set()  
    50.         {  
    51.                 //给买的武器购买子弹数量代码  
    52.         }  
    53.         private function __isset()  
    54.         {  
    55.                 //检查钱数是够购买子弹数  
    56.          }  
    57.         private function __unset()  
    58.         {  
    59.                 //如果中途死亡自动掉落武器  
    60.         }  
    61. }  
    62. class role extends Crossfire   
    63. {  
    64.         //个人角色继承cf的属性,角色可以使用购买,销毁上面的物品  
    65.         function attack()  
    66.         {  
    67.                 Crossfire::attack();  
    68.                 $this->Weapon='awm-a';  
    69.                 //如果中途换枪,加入换枪的弹量,伤害!  
    70.         }  
    71.         final function vip()  
    72.         {  
    73.                 //购买vip,final关键字是禁止方法和属性继承!vip是需要money购买,所以因此不能被继承!  
    74.         }  
    75.           
    76.         public static $awm=100;//awm 伤害是固定的所以用静态  
    77.         public static function awm()  
    78.         {  
    79.          self::$awm;//awm攻击代码,self调用静态. 方法的重载  
    80.         }  
    81.         public function __toString()  
    82.         {  
    83.                 return $this->repair(); //自动返回武器维修的费用  
    84.         }  
    85. }  
    86. interface map  
    87. {  
    88.         //地图代码,一个子类只能继承一次父类,地图是每个玩家都要用的,显而意见继承是不能够满足需求的,接口为我们解决瓶颈!  
    89.           
    90.         public function map1()  
    91.         {  
    92.                 //黑色城镇  
    93.         }  
    94.         function map2()  
    95.         {  
    96.                 //运输船  
    97.         }  
    98.           
    99. }  
    100. interface vipmap extends map   
    101. {  
    102.         //如果是会员就显示会员地图,继承接口总地图  
    103.         function _vipmap()  
    104.         {  
    105.                 //vip建图颜色先是红色  
    106.         }  
    107.         function _vipmap1()  
    108.         {  
    109.                   
    110.         }  
    111. }  
    112.  
    113. $cf=new Crossfire();  
    114. echo $cf->Weapon;//输出拥有的武器!  
    115. /*  
    116.   *   $对象名称= new 类名称();  
    117.        创建新类我们使用new,我们新创建了一个cf类,$cb就是Crossfire的对象!  
    118.  &nb sp;     多态的应用,抽象类没有讲,当然一个完整的游戏是不可能从此简单的,只是做个比喻!  
    119.     
    120.  
    121. */ 
    122. $cf2=clone $cf//克隆操作表示所有玩家都使用此类!  
    123. ?> 

     

  • » 阅读全文...
  • 2008年07月14日

    Apache和PHP网页的编码问题分析

    谈到Apache的编码我们就要涉及到3个东西

    http标记语言中的<META http-equiv="content-type" content="text/html; charset=xxx">标签
    PHP中的header("content-type:text/html; charset=xxx");函数
    Apache配置文件httpd.conf中的AddDefaultCharset

    一、<META http-equiv="content-type" content="text/html; charset=xxx">标签
    按顺序来,先说这个<META>标签,这个标签有很多功能的,具体请点这里。


    我今天想说只是上面提到的那种形式。解释一下<META http-equiv="content-type" content="text/html; charset=utf-8">,意思是对这个网页进行声明,让浏览器对整个页面的内容采用xxx编码,xxx可以为GB2312,GBK,UTF-8(和MySQL不同,MySQL是UTF8)等等。因此,大部分页面可以采用这种方式来告诉浏览器显示这个页面的时候采用什么编码,这样才不会造成编码错误而产生乱码。但是有的时候我们会发现有了这句还是不行,不管xxx是哪一种,浏览器采用的始终都是一种编码,这个情况我后面会谈到。

    请注意,<meta>是属于html信息的,仅仅是一个声明,它起作用表明服务器已经把HTML信息传到了浏览器。

    二、header("content-type:text/html; charset=xxx");
    这个函数header()的作用是把括号里面的信息发到http标头。关于此函数具体用法请点击这里。
    如果括号里面的内容为文中所说那样,那作用和<META>标签基本相同,大家对照第一个看发现字符都差不多的。但是不同的是如果有这段函数,浏览器就会永远采用你所要求的xxx编码,绝对不会不听话,因此这个函数是很有用的。为什么会这样呢?那就得说说HTTPS标头和HTML信息的差别了:
    引用:
    https标头是服务器以HTTP协议传送HTML信息到浏览器前所送出的字串。
    因为meta标签是属于html信息的,所以header()发送的内容先到达浏览器,通俗点就是header()的优先级高于meta(不知道可不可以这样讲)。加入一个php页面既有header("content-type:text/html; charset=xxx"),又有<META http-equiv="content-type" content="text/html; charset=xxx">,浏览器就只认前者http标头而不认meta了。当然这个函数只能在php页面内使用。
    同样也留有一个问题,为什么前者就绝对起作用,而后者有时候就不行呢?这就是接下来要谈的Apache的原因了。

    三、AddDefaultCharset
    Apache根目录的conf文件夹里,有整个Apache的配置文档httpd.conf。具体如何配置apache请点击这里([url=thread-2674-1-1.html]windows[/url],[url=thread-1381-1-1.html]linux[/url])。
    用文本编辑器打开httpd.conf,第708行(不同版本可能不同)有AddDefaultCharset xxx,xxx为编码名称。这行代码的意思:设置整个服务器内的网页文件https标头里的字符集为你默认的xxx字符集。有这行,就相当于给每个文件都加了一行header("content-type:text/html; charset=xxx")。这下就明白为什么明明meta设置了是utf-8,可浏览器始终采用gb2312的原因。
    如果网页里有header("content-type:text/html; charset=xxx"),就把默认的字符集改为你设置的字符集,所以这个函数永远有用。如果把AddDefaultCharset xxx前面加个“#”,注释掉这句,而且页面里不含header("content-type…"),那这个时候就轮到meta标签起作用了。

    总结:
    来个排序

    header("content-type:text/html; charset=xxx")
    AddDefaultCharset xxx
    <META http-equiv="content-type" content="text/html; charset=xxx">
    如果你是web程序员,给你的每个页面都加个header("content-type:text/html; charset=xxx"),保证它在任何服务器都能正确显示,可移植性强。

    至于那句AddDefaultCharset xxx,要不要注释就仁者见仁了。反正我是注释掉了,不过我写页子也要写header(),便于放到不同的服务器上能正常显示。

  • » 阅读全文...
  • 2008年06月8日

    让你成为PHP开发高手的五种方法

    国外著名站长blog开发者指南developertutorials.com发表了一篇《5种方法让您成为php开发高手》,笔者简单翻译了一下,有错误请批评指教。原文地址http://www.developertutorials.co ... r-php-developer-36/                  

        我们经常会在聊天室或论坛里遇到php初学者问各种各样的有关php的问题,如果问题过于简单,人们往往回复为“看手册”、“先学学PHP吧”、“我们可不能手把手教你”或者就一句“你应该学的差不多再来问”。怎样才能学的差不多?这篇帖子将教给初学者5种PHP的学习方法,可以提高效率,少写些代码,更佳的网络应用。用PHP开发程序总是要不断的学习:新的函数、新的框架、新的设计面版、新的代码文档样式。下面介绍一些最佳的PHP进阶方法。

    1、读手册

        我确实不太注重这个,因为手册中的东西实在是太多了。特别是字符串、数组函数。手册用起来比较方便,当你阅读手册时你常常会发现一些核心函数可以替代以前的程序做的很多无用功。手册是你的好伙伴。  

    2、浏览代码

        PHP有很多的开放代码资源,为什么不利用呢?下载一个共享的PHP应用程序并读代码。可能越大的工程越好,因为有着更完整的体系和结构,同时也有完整的文档可供参考。如果你无从起步不妨查看www.sourceforge.net这个网站。

    3、学习新的框架  

        PHP框架数不胜数,很多都是开源而且多数网上可以查到。可以先上最全面的网站www.phpframeworks.com,其中有一个很好的PHP框架列表。对PHP框架的应用很多,你的下一个程序可能就需要一个新的框架,你一定会发现它在工程有着广泛的应用。

    4、研究

        你一定听说过不少PHP术语,从OOP到MVC、KISS到DRY、YAML到INI、REST到XML-RPC,有数百科技概念与你的工作有关。你可能已经对他们有了一个基本的认识,可是你真的知道它们是什么或者对你有什么意义吗?花点时间研究一下,wikipedia是一个开始的好地方,一定可以让你学到一些新东西。

    5、学习OOP

        可能接下来的这些方法与以前的略显不同,但OOP确实比想象的还重要。你知道PHP5的OOP吗?举例来说,抽象类、关键词、静态和属性,“保护的”接口修改?即使是资深的PHP程序员可能都不懂这些。如果你能够应用OOP就可以节省很多开发的时间。
    这就是5条简单易懂但是意味深长的成为一个出色PHP开发人员的方法。

  • » 阅读全文...