阿里云ECS服务器php运行环境配置全过程

时间:2022-06-12 16:07:09

由于客户要求,公司单独给客户配了台阿里云服务器,需要我来搭建环境。如果是在本地配,分分钟给你配好不是问题,问题是现在要在阿里云上面配,这个我可从来没搞过啊。公司现在用的是以前的BOSS配好的,我没参与过,所以啥也不懂,这要逼我上梁山啊。唉,公司催着要了,看来不行也得行了,只能硬着头皮上了。

首先得准备两个工具:Xshell和Xftp(这两家伙应该是同一个妈生的吧?),直接度娘就能下得到,光看名字就知道了这两的用途,前者是用来运行shell脚本的,也就是常说的命令行;后者是用来上传各种东东到服务器,比如程序代码。

首先在此先说明一下基本情况:

服务器:阿里云ECS服务器,CentOS6.5

需要搭建的环境:>php5.4+apache2.2+Postgresql

好了,让我们开始吧!

先用Xshell连上服务器,打开Xshell,新建一个连接

阿里云ECS服务器php运行环境配置全过程

名称随便起一个,主机输入你的服务器IP地址,其他就选默认值,点击确定,接着输入密码,如果显示下面的页面,说明你已经成功连接到服务器了

。。。。。。。无语图片上传不了。。。

反正就是提示一句话 Welcome to aliyun Elastic Compute Service!,欢迎使用阿里云服务器之类的鸟语吧

然后我们首先安装Apache服务器,这里插播一个笑话啊,大家不要笑我,毕竟是新手嘛。刚开始我不懂,还用ftp把自己本地的apache服务器打包上传到服务器上去,想着用那个解压一下然后安装,后来想想不对呀,这是linux系统啊,大哥,想多了吧,可是linux怎么安装呢,其实简单的几句话就搞定。

Xshell上执行 yum install httpd

啪啦啪啦一大堆文字。。。

设置开机启动 chkconfig --levels 235 httpd on

如果一切正常,apache就安装好了,在浏览器窗口输入你的服务器IP地址,如果出现以下画面,那就恭喜你离成功更近一步了!

阿里云ECS服务器php运行环境配置全过程

接下来我们来安装php。

如果直接使用命令 yum install php 的话,系统给你安装的php是版本比较低的5.3,如果你的程序版本要求不高,你可以直接使用这个。但是我们公司开发的系统在这个版本上跑不起来,因为本来我们开发的版本都是基于5.4以上的,我也是抱着试试看的心态去玩玩,果然是不行,果断换。

那么如何安装高版本的php呢,各种度娘,最后找到了这篇文章:

在CentOS安装PHP5.6

按着上面的步骤一步步走下去,虽然过程有点慢(可能是依赖包服务器那边的网络问题吧)不过最后还是安装成功了。

具体过程我就不一一的说了,那篇文章里写的很清楚,大家按着里面的步骤安装,没啥问题的话,应该都能成功的,

来,phpinfo()看下:

阿里云ECS服务器php运行环境配置全过程

到这里,就剩最后一个数据库Postgresql没安装了,安装postgresql很简单

直接执行 yum install pgsql

啪啦啪啦又是一大堆文字出来,出现的版本是8.4,现在最新好像到9.4了,不过没关系,我们暂且就用它吧,如果你想安装更高版本的,请到postgresql官网上去下载,上面有rpm包可以直接运用的

安装完成,初始化数据库,创建用户,创建数据表,具体就不累述,自己度娘很多,我这里只教如何安装。

好了,最后上传程序,调试,直接用ip地址访问项目,很好,熟悉的页面显示出来了,内心一阵狂喜!本以为到此就可大功告成了!心里还在想,也不过如此嘛。

输入用户名,密码,点击登录,结果“用户名错误”,纳尼?输错了?再确认一遍,确实没错,结果还是那个结果。

程序肯定没问题,所以我断定问题应该出在数据库连接上了,断点一看,果然“cold not find driver!”,多么熟悉的声音!多么熟悉的旋律!哈利路亚。

经常搭环境的人应该都知道这个错误的原因:php没添加数据库PDO模块,我这里用的是pgsql,也就是php没加载pdo_pgsql模块,第一个想到的就是打开php.ini文件,

也很顺利的在etc/目录下找到了php.ini文件,急忙打开一看,尼玛,这完全不对啊,虽然也叫php.ini,但是跟之前线下配的php.ini完全不一样啊,看不到什么extension扩展。最后没辙了,又得度娘,折腾了半天,还是没搞定,下班了,明天再来搞吧。

第二天一早,一到公司,又开始折腾昨天的问题,各种度娘,试了N种方法,都以失败而告终。最后没办法了,只能打电话向以前的boss求助,告诉我直接从现在用的另一台备份一个过去就行,纳尼,这环境还可以备份的,早说嘛,我都辛辛苦苦折腾一天半了,算了,反正也不是啥大问题,就一个小小的扩展问题而已嘛。

然后继续度娘,期间尝试过骨哥,但无奈今天的*神器没作用,继续度吧,功夫不负有心人,还是找到了:

[原创]centos下安装php的PDO PostgreSQL扩展

虽然之前就看到过类似的方法,但都没试成功,这次完全按照上面的步骤去做,嘿,还真成了!

在usr/lib64/php/module目录下确实多出了一个pdo_pgsql.so的文件

其实上面说的方法跟我的情况还是有个小差异的,应该是服务器系统不一样吧。

还记得上面我说到了php.ini长得很奇怪吗,我猜有可能这是阿里云系统自己的一套php配置,因为里面确实不是平常我们用的php.ini。

刚开始我是按着文章中说的把extension=pdo_psql.so添加到php.ini中,保存,运行,然后报错了!看来是不行

然后在etc/php.d目录下看到了很多的ini配置文件,而且好像都是php扩展,一个扩展对应一个配置文件,所以我猜测这就是php扩展的配置文件了。

于是找到30-pdo_mysql.ini,30-pdo_mysqli.ini,唯独没看到30-pdo_pgsql.ini,然后下载30-pdo_mysql.ini到本地,打开以看里面就两句话:

; Enable pdo_mysql extension module
extension=pdo_mysql.so

这下明白了,这不就是php.ini里面扩展的配置吗?

于是也新建一个30-pdo_pgsql.ini,里面的内容改成:

; Enable pdo_pgsq;sql extension module
extension=pdo_pgsql.so

保存,上传到刚才的目录

执行 service httpd restart 重启服务器

再登陆,成功了!

至此,阿里云服务器环境搭建完毕!

放个长长的屁庆祝一下,哈哈哈