存档

2013年5月 的存档

计算机中名词解释on-the-fly

2013年5月31日 评论已被关闭

在电脑技术中,"on the fly"是指动态出现的行为,而非静态的、预先确定的行为的必然结果。例如,一个网站发送给你的网页的内容可能会基于某些动态因素(例如时间、用户先前浏览的网页、特定的用户输入信息)发生改变。网络服务器调用一个应用程序来产生“on the fly”的网页。这需要用到一系列技术,包括服务器端嵌入、使用cookie以及微软的Active Server Page。

分类: 互联网络 标签:

addFieldToFilter 与 addAttributeToFilter使用总结

2013年5月31日 评论已被关闭

magento初学者在开发过程中,对addFieldToFilter和addAttributeToFilter的使用会比较迷惑,例如你在一个自定 义模块中,在引用自己的table时,假如使用了addAttributeToFilter这个function,可能就会报错。
简单分析下原因:
我们在自定义模块里的collection类,因为没有涉及到EAV模型,一般都是继承 Mage_Core_Model_Mysql4_Collection_Abstract这个类,而在 Mage_Core_Model_Mysql4_Collection_Abstract(继承自Varien_Data_Collection_Db包 含很多常用function)和它的父类里,是没有addAttributeToFilter这个function的,如果一定要使用 addAttributeToFilter可以在collection加上如下function(或者改变collection的继承关系):
   

    public function addAttributeToFilter($attribute, $condition = null)
    {
        $this->addFieldToFilter($this->_attributeToField($attribute), $condition);
        return $this;
    }

    /**
     * Check if $attribute is Mage_Eav_Model_Entity_Attribute and convert to string field name
     *
     * @param string|Mage_Eav_Model_Entity_Attribute $attribute
     * @return string
     */
    protected function _attributeToField($attribute)
    {
        $field = false;
        if (is_string($attribute)) {
            $field = $attribute;
        } elseif ($attribute instanceof Mage_Eav_Model_Entity_Attribute) {
            $field = $attribute->getAttributeCode();
        }
        if (!$field) {
            Mage::throwException(Mage::helper('yourmode')->__('Cannot determine the field name.'));
        }
        return $field;
    }

magento自带的模块涉及到EAV模型的collection最终都是继承自 Mage_Eav_Model_Entity_Collection_Abstract,如catalog,customer模块等,这个类定义了很多有 用的function,包括addAttributeToFilter等,读者可自行去深入了解。
总结:addFieldToFilter基本上是addAttributeToFilter的别名,很多时候能通用;对用自定义的模块,一般使用 addFieldToFilter就能满足需求。对于EAV模型,大多都是系统自带模块,addAttributeToFilter就显得很有用。

分类: Magento 标签:

Linux下查看mysql、apache是否安装,并卸载。

2013年5月29日 评论已被关闭

指令 ps -ef|grep mysql 得出结果

    root     17659     1  0  2011 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe –datadir=/var/lib/mysql –socket=/var/lib/mysql/mysql.sock –log-error=/var/log/mysqld.log –pid-file=/var/run/mysqld/mysqld.pid   
    mysql    17719 17659  0  2011 ?        03:14:57 /usr/libexec/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql –pid-file=/var/run/mysqld/mysqld.pid –skip-external-locking –socket=/var/lib/mysql/mysql.sock  

usr/bin/mysql 是指:mysql的运行路径
var/lib/mysql 是指:mysql数据库文件的存放路径
usr/lib/mysql 是指:mysql的安装路径

1,mysql 的守护进程是mysqld

如果已经安装则:

[root@localhost ~]# service mysqld start
启动 MySQL:                                               [确定]

如果没有安装则:

[root@localhost ~]# service mysqld start
mysqld:未被识别的服务

你可以看看你的服务是否已经添加到linux上

[root@localhost ~]# chkconfig –list mysqld
mysqld          0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:启用  6:关闭

没有安装则:
[root@localhost ~]# chkconfig –list mysqld
在mysqld服务中读取信息时出错,没有那个文件或目录

一旦你启动了服务,可以这样检查服务器是否在运行

[root@localhost ~]# ps -el | grep mysqld
4 S     0  1796     1  0  85   0 –  1513 wait   ?        00:00:00 mysqld_safe
4 S    27  1856  1796  0  78   0 – 34055 –      ?        00:00:00 mysqld
[root@localhost ~]#
如果你看到有,就说明服务器安装起来了~~

linux下查看apache是否安装及版本

如通是通过rpm包安装的话直接用下面的命令:
rpm -q httpd

也可以使用如下两种方法:
httpd   -v

apachectl   -v

linux下卸载mysql方法

a. 查找已安装的myslq 版本:
#rpm  -qa | grep  mysql (注意大小写,如果mysql 不行就换MySQL)

显示:
[root@localhost ~]# rpm  -qa | grep  mysql
mysql-5.0.77-4.el5_4.2
mysql-server-5.0.77-4.el5_4.2
php-mysql-5.2.13-1.el5.art
复制代码
在屏幕上将显示已安装的mysql包名如:mysql-5.0.77-4.el5_4.2 ;

将搜索出的包名卸载:

#rpm -e  –nodeps mysql-5.0.77-4.el5_4.2  (nodeps表示强制删除)

提示
error: package –nodeps is not installed
error: package mysql-.0.77-4.e15_.2 is not installed

Linux查看mysql 安装路径

一、查看文件安装路径

由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。

这里以mysql为例。比如说我安装了mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径
在终端输入:

whereis mysql

回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)

[root@localhost ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

二、查询运行文件所在路径(文件夹地址)

如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以mysql为例):

which mysql

终端显示:

[root@localhost ~]# which mysql
/usr/bin/mysql

分类: linux 标签:


标签

ajax apache array array_slice CentOS checkbox composer cookie csv curl date DATE_FORMAT excel FCKEditor file_get_contents laravel Magento Certified Developer mb_substr memcache Memcached MySQL String Functions Netbeans openssl php面试题 preg_match_all preg_replace QQ登录 rewrite SaeStorage serialize session setTimeout Sphinx spl Storage strtotime ueditor vsftp vsftpd Zend zip 分割字符串 图片处理 新浪云 正则表达式

存档