LINUX下的PHP

由于linux系统的稳定性,大部分的PHP服务器都被部署在linux上,而且像redis等扩展在linux能得到更好的支持,所以对于PHP程序员来说,使用linux的功底也相当重要,接下来总结一下我从一开始在linux下安装配置linux的心得。


 

linux系统安装

首先是选择linux操作系统,我使用的是Cent OS 6.7 ,它类似红帽系统,简单易接触,而且开源免费。

CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux(小红帽)依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。

然后要准备一台linux机器,虚拟机是最好的选择了,它便于安装,随开随用。

虚拟机管理我推荐VM ware station,安装管理都方便,而且功能强大。用过小巧的virtual box,在win7下安装要改theme主题文件,辛苦装好的环境因为未知原因(兼容问题排除后,猜测是BIOS设置的问题,可参考)打不开虚拟机而放弃后,终于选择了VM,VM下安装linux的教程网上到处是,还有全程配图版。

说一下要注意的地方吧:虚拟机配置选择“桥接模式”,这样,虚拟机和主机就在同一个IP段下,可以很轻松地互相访问,VM下如图:

然后是我们经常要遇到的问题网络配置、和虚拟之间的交互、yum配置。


 

网络配置

vi /etc/sysconfig/network-scripts/ifcfg-eth0 按需求修改以下信息

DEVICE=eth0 //网卡序号

NAME="System eth0"//设备名

TYPE=Ethernet//设备类型

HWADDR=00:0C:29:C9:81:D7//系统检测到的硬件ID

ONBOOT=yes //是否开机运行

BOOTPROTO=static //获取IP方式,有static(静态方式)、dhcp(DHCP协议)、none(不指定)

IPADDR=192.168.1.66 //IP地址

NETMASK=255.255.255.0 //子网掩码

GATEWAY=192.168.1.1//网关

这样配置好之后,如果linux系统有桌面系统的话就可以直接用浏览器访问外网了。还需要进行主机和虚拟机之间的连通,可以在windows的cmd命令行中运行ipconfig命令来获取当前ip信息,然后可以在主机和虚拟机之间使用ping命令测试连接状态。

ping 192.168.1.xxx 

注意,虚拟机可能会用防火墙屏蔽80端口,导致虚拟机能访问自己,两者也能相互ping通,虚拟机也能访问主机,但主机却无法访问虚拟机的网站,通过修改防火墙设置或关闭防火墙能解决这一问题。

/etc/init.d/iptables -I INPUT -p tcp --dport 80 -j ACCEPT //修改不屏蔽80端口。

/etc/init.d/iptables stop //关闭防火墙

这样在配置好环境之后,就可以在主机和虚拟机之间互相访问了。


 

主机环境下操作虚拟机

配置好之后,便可以用工具来解决虚拟机和主机之间切换复制信息不便的问题了,这里我使用Secure CRT来进行主机与虚拟机之间的连接。

安装打开之后,点击quick connect按钮新增一个连接操作,如下图:

 

然后输入用户密码,保存。

还要注意使用Secure CRT时的编码问题,默认情况下,虚拟机的中文会显示乱码 ,需要以下配置:

然后让虚拟机进入后台运行状态,在VM界面,点击关闭虚拟机窗口,会弹出如下菜单。

 

选择后台运行,这样就可以不用管虚拟机窗口,尽情地用Secure CRT在window下操作虚拟机了。


 

yum配置

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum一般会在系统安装时自动安装,如果使用yum命令时提示找不到命令,那就在光盘的Packages文件夹里搜索yum安装包安装。

使用yum之前要先配置yum源。

切换到/etc/yum.repos.d/目录下,先将原来的yum源备份一个,然后用wget命令获取一个yum源。

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo.bak

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

配置好后我们就可以用yum来安装所需的软件了,用yum源来安装必备库和编译软件 gd gd-devel libxml2-devel gcc gcc-c++ zlib等

用yum安装的软件会找不到安装目录,可以用用rpm -ql packagename 查询安装地址

接下来安装mysql  mysql-server 安装好后记得用 mysqladmin -u root password xxxx设置好root密码

然后用wget命令+地址 下载php安装包,手动编译PHP时要注意:

--with-apxs2=/usr/local/apache2/bin/apxs//将其编译为apache的核心。

--enable-fpm //如果使用nginx服务器,此项要选,产生一个独立的PHP进程,在php/sbin/php-fpm,直接执行会产生一个端口号为9000的PHP进程。


 

PHP添加扩展模块

扩展模块一般分为两部分:扩展服务器和php扩展。

像mongo等扩展服务器是扩展的核心,要在各自的官网找到下载地址,用wget命令下载下来,然后解压安装,一般是官方编译好的可执行文件,直接复制到目标目录即可。

而PHP扩展文件,则是一个函数库,通过函数库与扩展服务器连接并操作数据库,大家可以去PHP官方扩展仓库 https://pecl.php.net/index.php下载扩展。

先将扩展包下载下来,然后解压,进入目录,用php/bin下的phpize运行一下(注意php用yum安装,找不到phpize,可用yum install php-devel来安装phpize),产生一个configure文件。

再用./configure --prefix=/usr/local/... –with-php-config=/usr/local/php/bin/php-config 命令编译

最后make / make test /make install

会得到一个形如/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/的地址,这个文件夹里存放着我们编译出来的PHP模块文件xxx.so(如同windows下的xxx.dll)

然后修改/lib/php.ini文件,添加extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xxx.so将模块扩展加入。

这样简单的PHP环境便搭建好了。

 

如果您觉得本博文对您有帮助,您可以推荐或关注我,如果您有什么问题,可以在下方留言讨论,谢谢。

posted @ 2015-11-27 08:56  枕边书  阅读(2608)  评论(2编辑  收藏  举报