php 正则表达式匹配非链接文字

//$str='<a href=”aaaaa”>aaa百度aaaaa</a><div>test</div><p>crumbs</p></a>百度知道<a href=”bbbb”>bbbbbbb</a><p>crumbs</p><p>crumbs</p>百度<p>crumbs</p><p>crumbs</p>贴吧<p>crumbs</p><p>crumbs</p><a href=”ccccc”>ccccccc</a>’;

$str='<a href=”aaaaa”>aaa百度aaaaa</a><div>test</div><p>crumbs</p></a>百度知道’;

//$str = preg_replace(‘/(?<=<\/a>)(.*?)(百度)(.*?)(?=(?<!(<a))<a)/i’,’\1<a href=\”baidu.com\”>\2</a>\3`’,$str);
$str = preg_replace(‘/(?<=<\/a>)(.*?)(百度)(.*?)(?=(?<!(<a)))/i’,’\1<a href=\”baidu.com\”>\2</a>\3`’,$str);
echo $str;


关注公众号,了解更多it技术(it问答网

清除Magento缓存的几种方法

Magento后台叫“刷新”缓存,实际在程序执行上是清除缓存(Cleaning Cache)。

如果你想在后台刷新缓存,很简单,去后台“System > Cache Management”,点击清除全部缓存,或者在列表中选择一项你想清除的缓存。在这里我主要讲的不是后台清除,而是命令行和程序的直接清除。

如果你想通过命令行清除缓存,你需要使用ssh链接你的服务器,打如下命令:

cd /where/your/mangento/root/var/cache rm -rf *

如果你需要在你的程序中清除缓存,一般是在计划任务中或者其他任何地方需要用这个,请将下列代码加到你的程序中,很简单。

Mage::app()->cleanCache();

也可以这样写:

Mage::app()->getCache()->clean();

如果你的计划任务脚本不在Magento程序内部,是个外部的执行脚本,那么你可以这样写:

$magento_bootstrap=’/[YOUR MAGENTO PATH]/app/Mage.php’;require_once$magento_bootstrap;umask(0); Mage::run(); Mage::app()->cleanCache();

多说句,呵呵,Magento里的Mage类是个启动器类,在ZendFramwork中称作Bootstrap,是通向Magento的大门。祝你使用Magento愉快~


关注公众号,了解更多it技术(it问答网

mysql数据库远程访问设置方法

1、修改localhost
更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改成”%”
mysql>use mysql;
mysql>update user set host = ‘%’ where user = ‘root’;
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;

 

2、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’192.168.225.166’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

 

3、泛授权
mysql -h localhost -u root
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限
mysql>FLUSH PRIVILEGES;

 

解决Mysql无法远程连接的问题

1、Mysql的端口是否正确
通过netstat -ntlp 查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用到端口。例如My Admin\My Query Browser\MySQl Front等。

2、检查用户权限是否正确
mysql库的user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP)。

3、查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉
需要注掉
报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘192.168.51.112’ (111)

 

sudo gedit /etc/mysql/my.cnf
#skip-external-locking

#bind-address        = 127.0.0.1

skip-name-resolve

4、查看iptables是否停掉,没关的情况下,无法连接
通过:service iptables stop临时关闭。
报错:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘192.168.51.112’ (113)


关注公众号,了解更多it技术(it问答网

magento根据产品模型号及尺码,进行上下架操作。

SELECT option_id    FROM `catalog_product_option`  where  product_id=(SELECT entity_id   FROM `catalog_product_entity`  where sku=’test’ )

option_type_id=SELECT  F.option_type_id   FROM  catalog_product_option_type_value as F left join catalog_product_option_type_title as S     on  F.option_type_id=S.option_type_id where F.option_id=55 and S.title=’M’

delete FROM `catalog_product_option_type_value` where  option_type_id=310

delete   FROM `catalog_product_option_type_price`  where option_type_id=310 ——-下架SQL

整体下架:

update cataloginventory_stock_item set qty=’0′ where item_id=(select entity_id as item_id from catalog_product_entity where sku=’sku值’);
———————————–上架SQL

SELECT option_id    FROM `catalog_product_option`  where  product_id=(SELECT entity_id   FROM `catalog_product_entity`  where sku=’test’ )

$arrInfo=SELECT option_type_id   FROM `catalog_product_option_type_value` where option_id=’55’ —-查询主表的信息
//备注:$arrInfo数组

循环删除下面属性表
foreach($arrInfo as  ){

delete FROM `catalog_product_option_type_value` where  option_type_id=310

delete   FROM `catalog_product_option_type_title` where  option_type_id=310
}

delete FROM `catalog_product_option_type_value` where option_id=’55

插入数据
insert into catalog_product_option_type_value set option_id=’55’,sku=1,sort_order=1
foreach(){

获取option_type_id插入属性表
insert into catalog_product_option_type_price set set option_type_id=314,store_id=0

insert into catalog_product_option_type_title  set option_type_id=314,store_id=0,title=’M’

}


关注公众号,了解更多it技术(it问答网

opencart根据产品模型号、尺码进行产品上下架操作。

整体下架:

update product  set quantity=0 where model=”model号”;

根据相应的产品模型号和尺码进行操作:

$sql=” update product_option_value set quantity=0,subtract=1 where  product_id=(select product_id from product where model='”.$model.”‘)  and option_value_id=(select option_value_id from option_value_description where name='”.$size.”‘)”;


关注公众号,了解更多it技术(it问答网

linux下修改IP、DNS、路由命令行设置

linux下修改IP、DNS、路由命令行设置

ubuntu 版本命令行设置IP
cat /etc/network/interfaces

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

# The primary network interface

auto eth0

iface eth0 inet static

address 192.168.1.104

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255

gateway 192.168.1.2

# dns-* options are implemented by the resolvconf package, if installed

dns-nameservers 58.22.96.66 218.104.128.106 202.101.138.8

dns-search .COM

重启网卡: /etc/init.d/networking restatr

 

Ubuntu IP对于电脑使用的玩家的常用软件,然后我就学习及深入的研究Ubuntu IP,在这里和大家一起探讨Ubuntu IP的使用方法,希望对大家有用。Ubuntu IP地址配置.

一、使用命令设置Ubuntu IP地址

1.修改配置文件blacklist.conf禁用IPV6:sudo vi /etc/modprobe.d/blacklist.conf

2.在文档最后添加 blacklist ipv6,然后查看修改结果:cat /etc/modprobe.d/blacklist.conf

3.设置Ubuntu IP(设置网卡eth0的IP地址和子网掩码)sudo ifconfig eth0 192.168.2.1 netmask 255.255.255.0

4.Ubuntu IP设置网关sudo route add default gw 192.168.2.254

5.Ubuntu IP设置DNS 修改/etc/resolv.conf,在其中加入nameserver DNS的地址1 和 nameserver DNS的地址2 完成。

6.重启网络服务(若不行,请重启ubuntu:sudo reboot):sudo /etc/init.d/networking restart

7.查看当前Ubuntu IP:ifconfig

二、直接修改Ubuntu IP系统配置文件

Ubuntu IP的网络配置文件是:/etc/network/interfaces打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载。

1. 以DHCP方式配置网卡

编辑文件/etc/network/interfaces:  sudo vi /etc/network/interfaces

并用下面的行来替换有关eth0的行:

# The primary network interface – use DHCP to find our address  auto eth0  iface eth0 inet dhcp

用下面的命令使网络设置生效:

sudo /etc/init.d/networking restart

也可以在命令行下直接输入下面的命令来获取地址sudo dhclient eth0

2. 为网卡配置静态Ubuntu IP地址

编辑文件/etc/network/interfaces:  sudo vi /etc/network/interfaces

并用下面的行来替换有关eth0的行:

# The primary network interface  auto eth0  iface eth0 inet static  address 192.168.2.1  gateway 192.168.2.254  netmask 255.255.255.0  #network 192.168.2.0  #broadcast 192.168.2.255

将上面的Ubuntu IP地址等信息换成你自己就可以了.用下面的命令使网络设置生效:

sudo /etc/init.d/networking restart

3. 设定第二个Ubuntu IP地址(虚拟IP地址)

编辑文件/etc/network/interfaces:  sudo vi /etc/network/interfaces

在该文件中添加如下的行:

auto eth0:1  iface eth0:1 inet static  address x.x.x.x  netmask x.x.x.x  network x.x.x.x  broadcast x.x.x.x  gateway x.x.x.x

根据你的情况填上所有诸如address,netmask,network,broadcast和gateways等信息:用下面的命令使网络设置生效:sudo /etc/init.d/networking restart

4. 设置主机名称(hostname)
使用下面的命令来查看当前主机的主机名称:sudo /bin/hostname
使用下面的命令来设置当前主机的主机名称:sudo /bin/hostname newname
系统启动时,它会从/etc/hostname来读取主机的名称。

5. 配置DNS

首先,你可以在/etc/hosts中加入一些主机名称和这些主机名称对应的IP地址,这是简单使用本机的静态查询。要访问DNS 服务器来进行查询,需要设置/etc/resolv.conf文件,假设DNS服务器的IP地址是192.168.2.2, 那么/etc/resolv.conf文件的内容应为:
search chotim.com
nameserver 192.168.2.2

6.手动重启网络服务:sudo /etc/init.d/networking restart

返回结果如下:
*Reconfiguring network interfaces… [OK]

redhat linux版本命令行设置IP:

  ifconfig eth0 新ip

  然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip

  一、修改IP地址

  [aeolus@db network-scripts]$ vi ifcfg-eth0

  DEVICE=eth0

  ONBOOT=yes

  BOOTPROTO=static

  IPADDR=219.136.241.211

  NETMASK=255.255.255.128

  GATEWAY=219.136.241.254

  二、修改网关

  vi /etc/sysconfig/network

  NETWORKING=yes

  HOSTNAME=Aaron

  GATEWAY=192.168.1.1

  三、修改DNS

  [aeolus@db etc]$ vi resolv.conf

  nameserver 202.96.128.68

  nameserver 219.136.241.206

  四、重新启动网络配置

  /etc/init.d/network restart五、例子

1、修改ip地址

即时生效:

# ifconfig eth0 192.168.0.20 netmask 255.255.255.0

启动生效:

修改/etc/sysconfig/network-scripts/ifcfg-eth0

2、修改default gateway

即时生效:

# route add default gw 192.168.0.254

启动生效:

修改/etc/sysconfig/network-scripts/ifcfg-eth0

修改dns

修改/etc/resolv.conf

修改后可即时生效,启动同样有效

3、修改host name

即时生效:

# hostname fc2

启动生效:

修改/etc/sysconfig/network

ps:

DEVICE=eth0

BOOTPROTO=static

IPADDR=192.168.8.85

NETMASK=255.255.248.0

GATEWAY=192.168.8.1

HWADDR=00:0uu3:47:2C:D5:40

ONBOOT=yes

4:添加linux系统启动项:

vi /etc/rc.d/rc.local

修改Linux系统SSH的端口号

修改Linux系统SSH的端口号 操作系统linux和Unix都适用: 修改配置文件 /etc/ssh/sshd_config,将里面的Port改为新端口(此端口必须是没有程序用到),比如10022, 然后

kill -HUP `cat /var/run/sshd.pid` 就行了。 注:现有连接自己不会断,因为kill -HUP `

修改Linux系统SSH的端口号

操作系统linux和Unix都适用:

修改配置文件 /etc/ssh/sshd_config,将里面的Port改为新端口(此端口必须是没有程序用到),比如10022,

然后 kill -HUP `cat /var/run/sshd.pid` 就行了。

注:现有连接自己不会断,因为kill -HUP `cat /var/run/sshd.pid` 只是HUP监听的那个,已经建立的连接(不同的 pid)不会断。

要想重新启用并用新端口登陆 ,此时可以在本登陆帐户下 用 exit 命令退出,在用新的端口登陆即可!

本文来自[Svn中文网]转发请保留本站地址:http://svn8.com/linux/WL/20091223/15603.html

 

linux单网卡上配置双IP文章分类:操作系统

/sysconfig/network-scripts在network-scripts下有一个ifcfg-eth0

复制ifcfg-eth0 为ifcfg-eth0:1

然后用vi编辑进行编辑
vi ifcfg-eth0:1
# Intel Corporation 82566DC Gigabit Network Connection
DEVICE=eth0
BOOTPROTO=none
BROADCAST=218.95.37.255
HWADDR=00:19:d1:34:2d:b8
IPADDR=218.95.37.250——————IP地址
NETMASK=255.255.255.192—————子网掩码
NETWORK=218.95.37.192
ONBOOT=yes
GATEWAY=218.95.37.193—————–网关
TYPE=Ethernet

按shfit键加:
:wq

保存退出然后把eth0:1激活就可以了。

ifconfig eht0:1 up

 

RedHat Linux一个网卡配置多个IP

linux下一个网卡如何配置多个IP?RedHat linux下边图形界面的网络配置没有找到在哪里配置第二个IP的地方。
如果临时性的增加一个IP(重启后就丢失了),可以使用ifconfig命令;ifconfig的用法可以使用man ifconfig查看,最常用的给网卡配置ip的命令为
#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
说明:
eth0是第一个网卡,其他依次为eth1,eth*
192.168.0.1是给网卡配置的第一个网卡配置的ip地址
netmask 255.255.255.0 配置的是子网掩码
up是表示立即激活
如果给单个网卡eth0配置多个ip地址如何操作呢,如果使用ifconfig命令那么上边需要改动的地方只有eth0这个而已,查了一些资料,明白了将 eth0改为eth0:x(x是0-255例如eth0:0或者eth0:1等等),eth0:x称为虚拟网络接口,是建立在网络借口 (eth0)上边。
所以给单网卡配置多ip的方法就是使用命令:
#ifconfig eth0:0 192.168.0.1 netmask 255.255.255.0 up
#ifconfig eth0:1 192.168.0.2 netmask 255.255.255.0 up
#ping 192.168.0.1
#ping 192.168.0.2
ping测试通过,就完成了单网卡配置多ip的功能。reboot以后发现ip地址变了回去。
所以必须设置启动时自动激活ip设置
第一种:
将上边的命令ifconfig加入到rc.local中去
第二种:
就是仿照/etc/sysconfig/network-scripts/ifcfg-eth0增加一文件根据网络虚拟接口的名字进行命名
例如ifcfg-eth0:0或者ifcfg-eth0:1等等
#下边看下ifcfg-eth0:0文件里面的配置信息
DEVICE=eth0:0 #网络虚拟接口eth0:0
ONBOOT=yes #启动的时候激活
BOOTPROTO=static #使用静态ip地址
IPADDR=192.168.0.1 #分配ip地址
NETMASK=255.255.255.0 #子网掩码
其他配置文件类似。
重启网络服务
#service network restart
ping测试,配置成功。

如何关闭一个ip呢则使用
#ifconfig eth*[:x] down(*代表的是网卡编号,x代表虚拟接口号0-255)

提示:传说有个netconfig,在RedHat企业版5上面并没有找到。
提示:RedHat linux下边图形界面的网络配置没有找到在哪里配置第二个IP的地方。
这句话有误,可以采用复制网卡,就可以配置第二个IP;不过这样做,居然出错!
变成图形界面,也并没有变得容易理解;需要尝试几次,才弄明白图形跟文本配置之间的对应关系。

 

#!/bin/sh

eth01=/etc/sysconfig/network-scripts/ifcfg-eth0:1

touch $eth01

echo DEVICE=eth0:1>>$eth01
echo BOOTPROTO=none>>$eth01
echo IPADDR=192.168.40.76>>$eth01
echo NETMASK=255.255.255.0>>$eth01
echo ONBOOT=yes>>$eth01

/etc/init.d/network restart


关注公众号,了解更多it技术(it问答网

RedHat 9 Linux开启SSH服务命令

启动:

service sshd start

安装过程:

1.以root身份登入系统(没登入系统和没有足够的权限都不能安装,晕,这不是废话)
2.检查安装系统时是否已经安装SSH服务端软件包:
rpm -qa|grep openssh
若显示结果中包含openssh-server-*,则说明已经安装,直接启动
sshd服务就可以了(service sshd start).(其中*的内容是该包的版本,一般为3.5p1-6)
若无任何显示,或显示中不包含openssh-server-*则说明没有安装SSH服务端软件包, 进入第3步
3.找到redhat 9.0 安装光盘,放入光驱中并加载光驱
mount -t iso9660 /dev/cdrom /mnt/cdrom   (加载光驱命令)
4.查找光驱中的SSH服务端软件所在目录,一般在/mnt/cdrom/RedHat/RPMS/目录下,
可以先cd到该目录下再用ls查看,如:ls openssh*,然后根据上面具体显示直接安装
rpm -ivh openssh-3.5p1-6 (如果第二步中显示已经安装该包就不要安装)
rpm -ivh oeenssh-server-3.5p1-6
5.启动sshd服务 /etc/rc.d/init.d/sshd start
netstat -a | more看有没正常启动

如果出现:

tcp   0      0 *:ssh         *:*         LISTEN

就说明正常启动了

6.在windows 下用putty等SSH客户端软件连接测试,或直接在linux主机上输入
ssh 测试,但必须要先安装linux 下的SSH客户端软件包,即
openssh-clients-*,安装过程和上面的服务端包相同
7.若能成功远程登入,则说明SSH服务安装配置成功,
否则很可能就是你的防火墙阻止连接了,重新配置防火墙或干脆先停掉防火墙
(/etc/rc.d/init.d/iptables stop) 就可以连接了

或者service  iptables stop

或者

修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

 

 

#########################################

启用Linux SSH服务,远程登陆Linux虚拟机

 

在Windows系统下使用VMWare虚拟Linux,经常要在虚拟机与主机之间传递数据和文件,为此使用SSH Secure Shell Client等工具来对Linux虚拟机进行远程控制和传递文件等操作都很方便。下面简要叙述之。

主机系统: Windows 7 x64

虚拟机软件: VMWare 7.0.0

虚拟机系统: Redhat EL 5

Step 1: 启用Linux SSH服务

chkconfig –list | grep sshd 查看sshd服务在哪种级别下开启,建议only 3。

防火墙规则中必须允许sshd访问,可以:

1.清除防火墙规则,#iptables -F

2.#iptables -A INPUT -p tcp –dport 22 -j ACCEPT

#iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT

Step 2: 配置虚拟机网络

虚拟机的网卡设置最好设置为桥接,然后设置好虚拟机的IP,使用Ping命令检查虚拟机与主机之间是否已连通。

Step 3: 启动SSH Secure Shell Client

点击Quick Connect, 输入虚拟机的IP地址,输入虚拟机登陆用户名,选择端口22,Authentication选择密码,点击Connect, 再输入登陆密码即可连接。

PS:

Redhat下查看IP命令:ifconfig (非root用户请用”/sbin/ifconfig”)。


关注公众号,了解更多it技术(it问答网

手把手教你Linux关闭防火墙命令

Linux还是比较常用的,于是我研究了一下Linux关闭防火墙命令,在这里拿出来和大家分享一下,希望你能学会Linux关闭防火墙命令 。

1) 永久性生效,重启后不会复原

开启: chkconfig iptables on

关闭: chkconfig iptables off

2) 即时生效,重启后复原

开启: service iptables start

关闭: service iptables stop

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

在开启了防火墙时,做如下设置,开启相关端口,

修改/etc/sysconfig/iptables 文件,添加以下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

通过本文你了解到了Linux关闭防火墙命令,以及怎样安装好Linux关闭防火墙命令。希望你分享本文。


关注公众号,了解更多it技术(it问答网

虚拟主机VMWARE下centos安装找不到硬盘解决方法

各位在装CENTOS中肯定遇到,在安装过程中发现一直找不到硬盘,奇怪了,虚拟主机上明明显示硬盘大小了,怎么还找不到,我就在网上搜索了下,发现原来是我设置硬盘为SCSI的,只要把其改成IDE结口就OK了。
解决方法如下
首先关闭虚拟机电源。
点击“编辑虚拟机设置”,选中“硬盘(SCSI0.0)”单击“移除”。
点击“添加”,
“下一步”—-
“硬盘”—-
“创建一个新的虚拟磁盘”—-
“IDE”—–
“下一步”—-
“完成”。

 

一句话:选择IDE硬盘。。。。


关注公众号,了解更多it技术(it问答网