2017年12月24日星期日

上海松善实业有限公司

    上海松善实业有限公司是一家集多品牌销售于一体的电线电缆骨干企业,公司成立于2016年。 公司拥有国内各大品牌:起帆、远东、上上、江南、胜华等。     主要产品有:高低压电力电缆、橡套电缆、控制电缆、架空绝缘电缆、塑胶电缆、电子计算机电缆、通讯电缆、矿用电缆及各种阻燃、耐火、防水、低烟无卤环保等特种电缆,并可根据客户要求开发、设计和制造新产品。
    经营产品通过了ISO9001-2000质量管理体系认证,国家强制性产品认证(CCC认证),并获得国家质量技术监督总局颁发的生产许可证。产品曾用于上海金茂大厦、人民广场、杭州钢铁厂、兰州发电厂、青岛火车站、郑州大学等国内外重点建设工程。
     我们愿以卓越的产品质量,优质的服务和良好的信誉与国内外朋友真诚合作,共创新的辉煌。
 

2016年5月10日星期二

PHP7 redis扩展安装

PHP7.0.0正式版发布有一段时间了,但是与之对应的扩展组件非常之少,特别是windows上用PHP7搭建开发平台,组件太少肯定是影响开发的。

目前PHP官网的PECL上日常用到的大部分PHP扩展组件都没有适配PHP7的,这源于PHP7的一些新特性与依赖关系和PHP5有很多不同之处,所以很多组件都需要开发者们经过一段时间的开发以适配PHP7。


PHP官方库里没有PHP7的redis扩展:https://pecl.php.net/package/redis

编译安装下载github地址:https://github.com/phpredis/phpredis/tree/php7

Windows:https://github.com/neil-chen/NeilChen/tree/master/php_redis

注:php7目录下有php7.dll的选择nts版本;有php7ts.dll的选择ts版本。

Linux安装:
cd phpredis
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
上面的操作完成后,会在/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626目录下生成出一个redis.so文件,下面我们需要把这个so文件加到php.ini中
vi /usr/local/php/etc/php.ini
具体设置如下:

extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension=redis.so

原贴地址:http://php.upupw.net/news/4/5305.html

2016年5月9日星期一

Windows和Linux上安装php7并安装yaf

Windows和Linux上安装php7并安装yaf

windows

1.windows上安装 php7 alpha 只需要从官网上 http://windows.php.net/qa/ 下载然后直接配置就可以,如果你不会你可以下载 PHP Manager,直接配置就可以了。这个时候需要测试,打开命令行窗口,然后到你的 php7 目录下,php -m 如果弹出如下的窗口
这时候因为你缺少 Visual C++ Redistributable Package for Visual Studio 2015 你可以点击这里下载 http://www.microsoft.com/zh-CN/download/details.aspx?id=46881,安装后就可以了。

         2.windows版Yaf下载地址:https://pecl.php.net/package/yaf/3.0.2/windows

linux

Linux 和以前一样安装,但是你会发现 php7 alpha 并不和以前 dev 一样,少了 --with-mysql 的选项,也就是不加载这个扩展了,以后就用 mysqli 和 Pdo 吧
从官方下载安装包 https://downloads.php.net/~ab/
wget https://downloads.php.net/~ab/php-7.0.0alpha1.tar.gz
#解压
tar zxf php-7.0.0alpha1.tar.gz
#进入目录
cd  php-7.0.0alpha1
#configure
--prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql/ \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--with-mcrypt \
--enable-ftp \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip--enable-soap \
--without-pear \
--with-gettext \
--disable-fileinfo \
--enable-maintainer-zts
#编译安装
make ZEND_EXTRA_LIBS='-liconv' && make install
#配置
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php7-fpm
cp php.ini-production      /usr/local/php7/etc/php.ini
#然后在自己配置下php-fpm.conf
安装YAF
#下载
git clone https://github.com/laruence/php-yaf.git
cd php-yaf
#查看所有分支,这时候你就看到了php7的分支
git branch -a
git checkout -b php7 origin/php7
#开始编译安装
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make && make install
#配置
vim /usr/local/php7/etc/php.ini 
#加入如下这行
extension = 安装完成显示的目录地址/yaf.so

在php.ini里增加以下配置
[yaf]
yaf.use_namespace = TRUE
yaf.use_spl_autoload = TRUE
 


原文转自我的博客:http://www.widuu.com/archives/06/1209.html

2015年5月6日星期三

修复Plupload 1.5.8版本网络断开问题

由于项目需要上传大文件,网上找到了开源框架Plupload
但是有时候上传的文件会不一致
在多次测验后发现是由于chunk丢失造成
增加log日志发现,如果请求是连接中断等问题,下个chunk会继续上传
到最后就算上传成功,文件也是有丢失

修复Plupload 1.5.8版本网络断开问题chunk会继续向后增加上传

修改方法xhr.onreadystatechange
if (httpStatus >= 400) 
后面的else增加
else if (!xhr || !xhr.responseText || xhr.responseText == '' || xhr == '') {
                    console.log('xhr', xhr);
                    uploadNextChunk();
}

2015年3月11日星期三

MySQL触发器自动更新memcache

mysql 5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能够实现memcache的自动更新。简单记录一下安装测试步骤。
安装步骤
  • 安装memcached,这个步骤很简单,随处可见
  • 安装mysql server 5.1RC,安装办法也很大众,不废话了
  • 编译libmemcached,解压后安装即可
    ./configure; make; make install
  • 编译Memcached Functions for MySQL,在http://download.tangent.org/找一个最新的版本下载就是,
    ./configure --with-mysql=/usr/local/mysql/bin/mysql_config --libdir=/usr/local/mysql/lib/mysql/
    make
    make install
  • 接下来有两个办法让Memcached Functions for MySQL在mysql中生效
  • 在mysql的shell中执行memcached_functions_mysql源码目录下的sql/install_functions.sql,这会把memcache function作为UDF加入mysql
  • 运行memcached_functions_mysql源码目录下的utils/install.pl,这是一个perl脚本,作用同上一条

测试memcache function
以下测试脚本摘自memcached_functions_mysql的源码目录,有兴趣可以试试
 1 drop table if exists urls;
 2 create table urls (
 3   id int(3not null,
 4   url varchar(64not null default '',
 5   primary key (id)
 6   );
 7 select memc_servers_set('localhost:11211');
 8 select memc_set('urls:sequence'0);
 9 DELIMITER
10 DROP TRIGGER IF EXISTS url_mem_insert;
11 CREATE TRIGGER url_mem_insert
12 BEFORE INSERT ON urls
13 FOR EACH ROW BEGIN
14     SET NEW.id= memc_increment('urls:sequence');
15     SET @mm= memc_set(concat('urls:',NEW.id), NEW.url);
16 END
17 DELIMITER ;
18 insert into urls (url) values ('http://google.com');
19 insert into urls (url) values ('http://www.ooso.net/index.php');
20 insert into urls (url) values ('http://www.ooso.net/');
21 insert into urls (url) values ('http://slashdot.org');
22 insert into urls (url) values ('http://mysql.com');
23 select * from urls;
24 select memc_get('urls:1');
25 select memc_get('urls:2');
26 select memc_get('urls:3');
27 select memc_get('urls:4');
28 select memc_get('urls:5');

2015年1月13日星期二

Mysql多个LEFT JOIN使用ORDER不能使用索引解决方案

Mysql在多个LEFT JOIN的情况下使用ORDER BY排序,就算是其中一个表的主键也仍然使用file sort排序,数据量多的话就相当的慢。

优化前语句
SELECT * FROM a LEFT JOIN b ON a.id=b.a_id ORDER a.id DESC

优化后语句
SELECT * FROM a LEFT JOIN b ON a.id=b.a_id JOIN (SELECT id FROM a ORDER BY id DESC) a_order ON a.id = a_order.id

实际工作中100W+的几个表使用LEFT JOIN要20分钟才能得到结果,语句优化后3秒。

以下是实际操作中Durpal Views的 hook_views_query_alter() 使用代码

    $views_join = new views_join();
    $views_join->extra_type = 'AND';
    $views_join->table = '(SELECT aid FROM activity_log ORDER BY aid DESC)';
    $views_join->left_table = 'activity_log';
    $views_join->left_field = 'aid';
    $views_join->field = 'aid';
    $views_join->type = 'INNER';
    $views_join->adjusted = true;
    $query->table_queue['activity_log_order']['join'] = $views_join;
    $query->table_queue['activity_log_order']['alias'] = 'activity_log_order';?>

2014年12月3日星期三

一个简单测试,看穿你的人性和欲望

这个心理测验来自西方,是与人潜意识有关。我10多年前认识个朋友,从国外读书回来,给我说了个心理测验《借船过河》,她说是读心理学时老师教的。然后我拿这个测验测过无数人,都很准。这个也不是算命,但可以让你了解自己的需要,有的人死不承认,可实际上就是这样子的。我把这个图画下来了,大家可以对照看,不过要听我先讲故事,然后再开始。
一男人M要与未婚妻F相会结婚,但两人一河相隔,M必须要借船过河才能见到F,于是他开始四处找船。
这时见一个女子L刚好有船,M跟L借,L遇到M后爱上了他,就问:我爱上你了,你爱我吗?M比较诚实,说:对不起,我有未婚妻,我不能爱你。这么一来,L死活是不把船借给M,她的理由是:我爱你,你不爱我,这不公平,我不会借你的!
M很沮丧,继续找船,刚好见一位叫S的女子,就向她借船,S说:我借给你没问题,但有个条件,我很喜欢你,你是不是喜欢我无所谓,但你必须留下陪我一晚,不然我不借你。M很为难,L不借他船,S如果再不借他的话就过不去河与F相见了,据说这个地方只有这两条船。为了彼岸的未婚妻,他不得不同意了S的要求。次日,S遵守承诺把船借给了M。
见到未婚妻F后,M一直心里有事,考虑了很久,终于决定把向L和S借船的故事跟F说了。可惜,F听了非常伤心,一气之下与M分了手,她觉得M不忠,不能原谅。M失恋了,很受打击,这时他的生活里出现了位女子E,两人也开始恋爱了,但之前的故事一直让他耿耿于坏,E问M是不是有什么话要跟她说,于是,M一五一十地把他和L、S、F之间的故事讲了一遍。E听了后,说,我不会介意的,这些跟我没关系。
故事讲完了,问题来了,请你把这几个人排列个次序,标准是你认为谁最好,谁第二,谁第三,第四,第五?这个M男也算在内的。不要想太复杂,也不需要考虑大众看法,你认为谁做得好就是好。
看到这里请先选择好你的答案,其实很简单,就是用你的潜意识告诉你最想要的是什么。不知道自己要什么,这是很普遍的问题,因为什么都挺重要的,舍弃什么都不成体统,只是每个人的人生追求确实差异很大,看别人追求事业,你也羡慕也很想这样,但不知道为什么总做不到;看别人婚姻幸福,你也很想,可实现起来确实不容易,这和运气也不是太有关系,而是你需要的决定了很多。
我说两个故事吧。这故事中的两个人是很典型的,都是测过这个游戏的。一个是我以前乐队成员,贝斯手,当时他写下的是:M、F、S、E、L,演出有点演出费就赶紧寄家去,还闹过这样的笑话,赚了400块,他好意思地跟别人借一百,说凑个整。很多年后,乐队其他人都各奔东西,他留在了那行里,不过做了歌舞厅的伴奏,每天跑场很能赚钱,据说也很快结婚,有了小孩,是个很负责的丈夫,音乐就是他赚钱的工具,生活得也不错。后来我遇到过次他,一肚子不满,虽然开上了车,但理想早破灭了,没事业没爱情,就是富裕的日子。我觉得这就是他的人生轨迹,想追求的还是自己想要的东西。
另一个是天津的一位女主持人,我当时跟她没什么话聊的,就玩了下这个。她的选择是S、M、L、F、E,我告诉她这几个符号代表什么的时候,她有点不高兴,说不准,她怎么把S放第一呢?是因为她觉得S比较公平,要比L简单,F事儿太多,E太冷漠,M不错但就是太墨迹了。每个人理解问题的方式都不同,刚好这个透露了你的潜意识。很多年后,我在北京遇到了位认识她的人,说起这个女主持来,他说,那谁可惜了,早不干主持了,跟他们单位好多男的乱七八遭,后来被单位开了,嫁了个有钱人。
答案:(见下)
M代表金钱(Money)
L代表爱情(Love)
S代表性(Sex)
F代表家庭(Family)
E代表事业(Enterprise)
我看问我的朋友,其中选择E为首的占大多数,说明事业对不少来说人还是很重要的,还有距离问题,比如你选择了事业和金钱互相挨着,这很正常,这两项都是有关联的,可如果你把爱情排第一,却又把家庭排最后,那就说明,你未必会依赖婚姻这个形式,这排列组合是可以推理的。我想这个东西确实预示性很强,你要什么肯定会下意识地追求了什么。

上海松善实业有限公司

    上海松善实业有限公司是一家集多品牌销售于一体的电线电缆骨干企业,公司成立于2016年。 公司拥有国内各大品牌:起帆、远东、上上、江南、胜华等。     主要产品有:高低压电力电缆、橡套电缆、控制电缆、架空绝缘电缆、塑胶电缆、电子计算机电缆、通讯电缆、...