文档章节

linux下安装yii——遇到到问题和解决

南国野兽
 南国野兽
发布于 2012/11/24 17:14
字数 2311
阅读 4922
收藏 6

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

由于PHP的很多高阶教材都是以LINUX作为基础,我也只好硬着头皮从WINDOWS转向LINUX,说实在的,这是个很痛苦到过程,从一个傻瓜 式到桌面系统转到一个繁琐到命令式系统,就像从移动电话时代回到了电报时代。又是买书看,又是上网查资料,足足用了半个月的时间才把LAMP系统搭建起 来,一个一个地编译软件,一遍又一遍的翻书查资料,身边也没可以讨教到人,所以每走一步都会遇到各种困难,都要劳心费神的解决它。这也可能是因为我是个比 较较真的人,总是忍不住的想把每一个细节都弄明白,所以放弃了linux下安装软件最便捷到RPM或DPKG方式,采取最传统的编译安装方式,因此导致要 学习大量的Linux操作系统知识。


废话又说多来,回到正题。由于网上几乎找不到一个详细的LINUX下安装yii方法说明,我把我到安装过程记录下来,以方便有需要的人们。


我到yii安装环境:centos-6.3、php-5.4.8、 apache-2.2.23、 mysql-5.0.96。


CentOS6.3

我 把它叫做redhat的免费版,我本来初选的是UBUNTU的系统,在连续装来8.04和10.04(选用这两个老版本是由于我的电脑硬件配置太低了—— 05年买的本本),之后发现它们缺少很多编译软件所需要环境插件,且这两个版本的distribution在我到电脑上跑得实在是不怎么顺心,于是准备换 替代品。首先想到的是Fedora,查了查资料,发现Fedora叫做面向个人系统的实验版的reahat,用的人也很多,更新换代很快,几个最近到版本 到硬件需求都高出了我的电脑配置水平,放弃。正好我到手边的LINUX教材《鸟哥的linux私房菜》里推荐的是CentOS,又再查资料,了解到 CcetOS是现实中搭建免费LAMP的首选,且去掉了UBUNTU、Fedora花哨功能,硬件要求不高,适合做开发。于是我便尝试安装最新版的 CentOS6.3,没想到居然成功了。在安装CENTOS的时候,我选择的是software development wordstation,没有 选择desktop版,这是因为,这个版相比desktop只默认安装与开发和编译相关到插件,没有安装其他杂七杂八的软件。正好适合用来搭建开发系统, 而且是用传统的编译安装方法搭建开发系统。


PHP-5.4.8

这个是PHP官方最新版的,由于我主要是用php来开发,不是用来实际建站,故不去理会新版本的稳定性,以及zend加速器不支持5.3版本以上的PHP这两个问题。


apache-2.2.23

这个也是最新版的。


mysql-5.0.96

这版本到mysql是老版本,新版的是mysql-5.5.28,没选择新版是因为新版和现有PHP和APACHE、phpmyadmin有冲突,调试很麻烦,另外用到新的cmake编译方法,我还要再安装cmake.故选择老的5.0.96版,且这个版比较稳定。


我的PHP、MYSQL、APACHE都统一安装在/usr/local/lamp目录下,这样便于软件管理和升级,但许也是这个原因,导致后来到的yii安装遇到了一个困扰我很久的问题。


sorry!还是讲来一大堆废话。下面正式介绍安装YII。


官方关于YII的linux下安装,概括只有2句话1个提示:


2句话:

a、 下载YII文件压缩包。b、把解压缩后到YII文件包放到服务器可以访问到目录。如果你是用yum或apt安装到lamp环境,因该是放到/var /www(有的Linux是放在/var/www/html)文件夹里,如果你是像我一样,一个一个安装php mysql apache到/usr /local/lamp下的,就应该把yii文件夹放到/usr/local/lamp/apache/htdocs里。


1个提示:

 在 MacOS、Linux 或 Unix 系统中运行 yiic 时,你可能需要修改 yiic 文件的权限使它能够运行。你也
可 以用 php YiiRoot/framework/yiic.php 来代替 yiic。(这个就是关键点)为什么会又这个提示,用过Linux的人都 应该知道,linux的一个特点就是权限,如果root没有把一个文件的使用读、写、执行权限某个用户的话,他就无法无法对这个文件读、写、执行。而 yiic是调用php脚本去执行webapp的创建的。如果yii和php文件各自所属到用户和组群在文件到权限上有冲突,那么你就无法使用yiic创建 webapp。所以你需要配置好yii和php这个两文件的权限。一般最简单的方法就是在这两个文件夹下运行这条命令:chmod -R 777 .注 意,不要漏了小原点。这条命令表示,所有用户都对当前目录及其子目录的所有文件有读、写、执行到权限,这条命令其实对系统安全性又很大的威胁。如果你是准 备把lamp和yii上线运行的,还要再好好研究一下linux,再详细设置,由于我的lamp只用于开发,无需估计太多系统安全性,所以对此不作细讲。


一 般来说,如果你用的是yun、apt方式安装到lamp,而且运气好,这时候在yii也就安装完毕了,可以使用了。使用yii创建应用的命令是“yii- dir/framework/yiic webapp",比如我把YII安装在/usr/local/lamp/apache/htdocs下,所以我使 用YII创建应用到命令就是/usr/local/lamp/apache/htdocs/yii/framework/yiicwebapp”,如果你已经处于yii的framework目录下可以用“./yiic”这个命令。其实上面的yiic运用方法可以简化的。不过这个我还没弄明白,故暂不讲。


不过,如果你是像我一样背,又是采取一个一个的编译安装lamp软件的方法搭建开发环境。估计会遇到以下这样到问题。


1、“/usr/bin/env: php: 没有那个文件或目录”

为 什么会有这个问题呢?前面讲过,yiic是使用php脚本创建webapp到,启动yiic到时候,它会自动到/usr/bin/路径下找php执行文 件,如果你是用yum或apt方法安装php的,/usr/bin/路径下是有这个文件的,你运行yiic也就一切顺利,但如果你是像我一样编译安装 php到/usr/local下到,yiic运行时用到到php执行文件就在/usr/local/lamp/php/bin/路径下,由于yiic不认 识/usr/local/lamp/php/bin/路径,所以有了上面的错误提示“/usr/bin/env: php: 没有那个文件或目录”。


怎么解决?

使 用windows成习惯的你也许马上就会想到,把/usr/local/lamp/php/bin/路径下执行文件拷贝到/usr/bin/路径下,行 吗?不行!为什么?因为Linux系统下的软件都是编译安装的,彼此间到关联性很高,编译好的文件,脱离到原来编译环境,是无法运行的,需要重新配置。这 个方法不行那该怎么办呢?对linux有一定了解的你也许会想到,在/usr/bin/和/usr/local/lamp/php/bin/建立一个链 接,或许既可以来,可以用以下命令:“ln -s /usr/local/lamp/php/lib/php /usr/bin/”,这条命令确实其作用 来,yiic现在可以调用php了。但老问题解决了新问题又来了。现在又出现来这个问题:


2、“/usr/bin/env: php:权限不够“

yiic 可以调用php了,但权限不够,也许你也像我一样发懵来,在安装的时候不是已经设置权限到么?现在怎么又没有权限了。由于我还是linux菜鸟,实在是想 不出来解决方法。万般无奈之下,只能使出镇山之宝——google的二奶baidu(万恶到***居然屏蔽了google),结果如何?就像包二奶一样, 空欢喜一场,国内似乎很少人用linux使yii到,找不到任何资料。这时候,我突然抓住了一根救命稻草——yii官网。终于在官网到论坛上找到一个老外 到帖子——终于遇到“同是天涯落难人”了。


得出解决的方法:

用vi打开yiic,把“#!/usr/bin/env php” 改为“!#/usr/local/php/bin/php(也就是你php路径)"比如按照我的系统上到php路径改为:“!#/usr/local/lamp/php/bin/php”.


#!/usr/bin/env php   //*************就是改动这里**************
<?php
/**
 * Yii command line script for Unix/Linux.
 *
 * This is the bootstrap script for running yiic on Unix/Linux.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @link [url="http://www.yiiframework.com/"]http://www.yiiframework.com/[/url]
 * @copyright Copyright &copy; 2008 Yii Software LLC
 * @license [url="http://www.yiiframework.com/license/"]http://www.yiiframework.com/license/[/url]
 * @version $Id: yiic 702 2009-02-18 19:29:48Z qiang.xue $
 */


require_once
(dirname(__FILE__).'/yiic.php');



至此,linux下的yii安装成功!


多谢各位看官了,两句话就解决的问题,硬是让我唠叨成这么一两千字。

© 著作权归作者所有

南国野兽
粉丝 7
博文 15
码字总数 7705
作品 0
广州
私信 提问
如何在hostease部署基于yii框架技术的web网站

从中午到腾到凌晨2点多,总算把网站部署好了。本以为会很轻松的,因为写好的blog网站,一直在我自己的LAMP环境主机上运行的很顺利,结果一放到网络服务器上,就遇到了问题。官方的教程是满足...

南国野兽
2013/01/07
308
0
YII composer全局安装

php版本需要大于php5.4 需要开启php openssl扩展 找到php安装源码包中的ext目录下面的openssl目录 make && make install 全局安装 你可以将此文件放在任何地方。如果你把它放在系统的 目录中...

蜗牛奔跑
2015/08/20
166
0
Yii basic 去掉index.php 后缀

安装 Yii 社区推荐:掘金是一个面向程序员的技术社区,从后端到架构,从 PHP 最佳实践到一线大厂经验分享,无论入门还是进阶,来掘金你不会错过后端开发的任何一个技术干货。 你可以通过两种...

全栈coder
2018/11/22
0
0
这些最热门的 PHP 框架,哪一款是你的菜?

原文出处:opensource 译文出处:开源中国—两味真火 PHP 是世界上最流行的编程语言之一,广泛用于主要的项目中。例如,Facebook 就是利用 PHP 来创建和维护他们的内部系统;WordPress 内部基...

opensource
2016/12/27
0
0
建立第一个 Yii 应用

为了对 Yii 有个初步认识,我们在本节讲述如何建立第一个 Yii 应用。我们将使用 (命令行工具)创建一个新的 Yii 应用。(强大的基于web的代码生成器)为特定的任务完成自动代码生成。假定 ...

红薯
2009/11/02
3.1K
4

没有更多内容

加载失败,请刷新页面

加载更多

mysql免安装

参考:http://blog.csdn.net/qq_28569585/article/details/79072805 [mysqld]#设置mysql密码为空#skip-grant-tables#设置3306端口 port = 3306# 设置mysql的安装目录 basedir=E...

秋默
2分钟前
1
0
立足于SpringCloud.H + Netflix-Ribbon + Hystrix断路器(9)

《SpringCloud.H心法总纲》 继续上一篇,接下来Springcloud配置Netflix-Ribbon集成Hystrix断路器的功能。 1、添加依赖 <!--使用hystrix,测试断路器--><dependency> <groupId>org.spr......

木九天
3分钟前
1
0
Dropbox怎么共享文件?Dropbox共享文件操作

Dropbox网盘是国外的一项云存储服务,这意味着即使您使用的是其他设备,您也可以将文件复制到云中并在以后访问它们,目前支持PC、Android和MAC三大平台,为用户带来最精准的资源传输工作。就...

坚果云
5分钟前
1
0
Vant Weapp 1.0 正式版发布

1.0 来了 2018 年 8 月 11 日,我们发布了 Vant Weapp 的首个版本。16 个月以来,我们收到了 27 位开发者贡献的 1000 多次提交,也处理了 1200 多个 issue,发布了 50 多个版本。Github 的 ...

有赞coder
7分钟前
1
0
VCF文件格式详解

VCF文件全称为Variant Call Format,表示基因组的变异信息,通常为GATK和Samtools软件处理所得到。 VCF文件大致可以分为两个部分: 1、以##开头的头文件信息 ##fileformat=VCFv4.2##FILTER...

悲催的古灵武士
8分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部