分页: 6/11 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]

RedHat 5.2 上安装PHP-5.3+APC

[不指定 2010/02/03 16:22 | by 张明辉 ]
今天下午安装了PHP5.3.0和php缓冲加速模块APC

APC,全称是Alternative PHP Cache.The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. Its goal is to provide a free, open, and robust framework for caching and optimizing PHP intermediate code.
Office Website: http://pecl.php.net/package/apc.  目前的版本是 3.1.3p(2009-08-14)
一:下载:
引用
[root@backup master]# wget http://pecl.php.net/get/APC-3.1.3.tgz
--15:00:16--  http://pecl.php.net/get/APC-3.1.3.tgz
Resolving pecl.php.net... 76.75.200.106
Connecting to pecl.php.net|76.75.200.106|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 132755 (130K) [application/octet-stream]
Saving to: `APC-3.1.3.tgz'

100%[===========================================================================================>] 132,755     93.1K/s   in 1.4s  

15:00:18 (93.1 KB/s) - `APC-3.1.3.tgz' saved [132755/132755]

二:解压
引用
[root@backup master]# ls
APC-3.1.3.tgz
[root@backup master]# tar -zxvf APC-3.1.3.tgz
package.xml
APC-3.1.3/tests/apc_001.phpt
APC-3.1.3/tests/apc_002.phpt
APC-3.1.3/tests/apc_003.phpt
APC-3.1.3/tests/apc_003b.phpt
APC-3.1.3/tests/apc_004.phpt
APC-3.1.3/tests/apc_005.phpt
APC-3.1.3/tests/apc_006.phpt
APC-3.1.3/tests/apc_007.phpt
APC-3.1.3/tests/apc_008.phpt
APC-3.1.3/tests/apc_009.phpt
APC-3.1.3/tests/iterator_001.phpt
....................
..............
APC-3.1.3/apc_rfc1867.c
APC-3.1.3/apc.php
[root@backup master]# cd APC-3.1.3
[root@backup APC-3.1.3]# ls
apc.c          apc.dsp            apc_iterator.h  apc_php.h           apc_sem.h     apc_spin.c   config.m4       php_apc.c
apc_cache.c    apc_fcntl.c        apc_lock.h      apc_pool.c          apc_shm.c     apc_spin.h   config.w32      php_apc.h
apc_cache.h    apc_fcntl.h        apc_main.c      apc_pool.h          apc_shm.h     apc_stack.c  INSTALL         TECHNOTES.txt
apc_compile.c  apc_fcntl_win32.c  apc_main.h      apc_pthreadmutex.c  apc_signal.c  apc_stack.h  LICENSE         tests
apc_compile.h  apc_globals.h      apc_mmap.c      apc_pthreadmutex.h  apc_signal.h  apc_zend.c   NOTICE          TODO
apc_debug.c    apc.h              apc_mmap.h      apc_rfc1867.c       apc_sma.c     apc_zend.h   pgsql_s_lock.c
apc_debug.h    apc_iterator.c     apc.php         apc_sem.c           apc_sma.h     CHANGELOG    pgsql_s_lock.h
[root@backup APC-3.1.3]# /opt/php5/bin/phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

Tags: , ,

php安装出错

[不指定 2010/02/01 14:16 | by 张明辉 ]
今天安装Php-5.2.10时。
编译完成后,make install 时出现以下错误

引用
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400  
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396
Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1400

网上查了下.
删除以下文件,然后通过命令重建即可
例如:你的php是通过源码编译,那默认安装的位置就是/usr/local/。
那你只需要删除如下位置的文件
引用
usr/local/lib/php/.channels/pear.php.net.reg
/usr/local/lib/php/.channels/pecl.php.net.reg

然后通过以下命令重建:
引用
pear update-channels
pecl update-channels


Tags: , ,

国内几个开源软件网站

[不指定 2010/01/31 01:24 | by 张明辉 ]
搜狐的:http://mirrors.sohu.com
网易的:http://mirrors.163.com
上海交通大学FTP:http://202.38.97.230
如果你是教育网的用户,上海交通大学FTP访问速度非常的快。
Tags: , ,

Mysql 复制排错FAQ

[不指定 2010/01/26 10:53 | by 张明辉 ]
[文章作者:张明辉 本文版本:v1.0 修改时间:2010.01.14 转载请注明原文链接:http://www.6curl.com/post/34/]
常见的Mysql 复制出错解决方法
1:首先登陆slave 或者Master 上执行下面操作:
引用

mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 10.2.9.42                   --主服务器的IP地址。
                  Master_User: backup                      --连接主服务器上当前的user。
                  Master_Port: 3306                        --当前主服务器上的Mysql端口。
                Connect_Retry: 60                          --master-connect-retry选项的当前值。
              Master_Log_File: mysql-bin.000018            --I/O线程当前正在读取的主服务器二进制日志文件的名称。
          Read_Master_Log_Pos: 111897343                   --在当前的主服务器二进制日志中,I/O线程已经读取的位置。
               Relay_Log_File: localhost-relay-bin.000026  --SQL线程当前正在读取和执行的中继日志文件的名称。(建议自定义名称,原因后面。)
                Relay_Log_Pos: 88316978                    --在当前的中继日志中,SQL线程已读取和执行的位置
        Relay_Master_Log_File: mysql-bin.000009            --由SQL线程执行的包含多数近期事件的主服务器二进制日志文件的名称。
             Slave_IO_Running: Yes                         --I/O线程是否被启动并成功地连接到主服务器上。()        
            Slave_SQL_Running: Yes                         --SQL线程是否被启动。
              Replicate_Do_DB: dxmaildb,dxaddb             --replicate-do-db(需要复制数据库的列表)
          Replicate_Ignore_DB:                             --replicate-ignore-db(不需要复制数据库的列表)
           Replicate_Do_Table:                             --同步不同库中的表格式为(replicate-do-table=db_name.tbl_name)
       Replicate_Ignore_Table:                             --当然是不同步库中的表了
      Replicate_Wild_Do_Table:                             --解决跨库操作更新        
  Replicate_Wild_Ignore_Table:                             --同上        
                   Last_Errno: 0                           --最近被执行的查询返回的错误数量
                   Last_Error:                             --最近被执行的查询返回的错误消息
                 Skip_Counter: 0                           --使用的用于SQL_SLAVE_SKIP_COUNTER的值
          Exec_Master_Log_Pos: 88316833                    --来自主服务器的二进制日志的由SQL线程执行的上一个时间的位置    
              Relay_Log_Space: 4570242461                  --所有原有的中继日志结合起来的总大小,单位是byte
              Until_Condition: None                        --在START SLAVE语句的UNTIL子句中指定的值(三种状态(master/Relay/None))
                Until_Log_File:                            --在START SLAVE语句的UNTIL子句中指定的值
                Until_Log_Pos: 0                           --在START SLAVE语句的UNTIL子句中指定的值
           Master_SSL_Allowed: No                          --如果允许对主服务器进行SSL连接,则值为Yes        
           Master_SSL_CA_File:                                   CA文件
           Master_SSL_CA_Path:                                   CA路径
              Master_SSL_Cert:                                   CA证书
            Master_SSL_Cipher:
               Master_SSL_Key:                                        
        Seconds_Behind_Master: 230063                      --从属服务器“落后”多少秒(一个时间指示)        
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error:
               Last_SQL_Errno: 0
               Last_SQL_Error:
1 row in set (0.00 sec)

从上面的信息中,我们必须能够获取有用的信息,来解决复制中出现的错误。
例如:
引用

主从数据库应该无故障的运转下去,可以有时候还是会出现一些莫名其妙的问题,比如说即便从未在从服务器上手动更新过数据,但还是可能遇到“Error: 1062 Duplicate entry”错误,具体原因不详,可能是MySQL本身的问题。遇到这类问题的时候,从服务器会停止复制操作,我们只能手动解决问题,具体的操作步骤如下:
stop slave;
set global sql_slave_skip_counter = 1;
start slave;

设置跳过这一错误
Tags: , ,

Mysql 慢查询日志分析

[不指定 2010/01/18 12:20 | by 张明辉 ]
转载请注明原文链接:http://www.juyimeng.com/analyze-mysql-slow-query-log-with-mysqldumpslow.html

经常优化Mysql的人都知道,mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数。如果在my.cnf里面修改,需增加如下几行
引用
long_query_time = 1
log-slow-queries = /var/youpath/slow.log
log-queries-not-using-indexes
long_query_time 是指执行超过多久的sql会被log下来,这里是1秒。
log-slow-queries 设置把日志写在那里,可以为空,系统会给一个缺省的文件host_name-slow.log,我生成的log就在mysql的data目录
log-queries-not-using-indexes 就是字面意思,log下来没有使用索引的query。

把上述参数打开,运行一段时间,就可以关掉了,省得影响生产环境。
接下来就是分析了,假如:这里有个文件名字叫host-slow.log.的mysql产生的慢查询日志。
【方式一】:使用Mysql自带的perl脚本"mysqldumpslow"
mysqldumpslow是官方提供的,一般安装Mysql Server 的时候都会默认的安装上,所以使用起来也方便!!
基本的使用方法就是
/path/to/mysqldumpslow -s c
其中参数(-s c)的意思就是按照各种慢查询条数排序。
如果详细的使用
引用

/path/to/mysqldumpslow --help 看一下
-s ORDER     what to sort by (al, at, ar, c, l, r, t), 'at' is default
                al: average lock time
                ar: average rows sent
                at: average query time
                 c: count
                 l: lock time
                 r: rows sent
                 t: query time  
  -r           reverse the sort order (largest last instead of first)
  -t NUM       just show the top n queries
  -a           don't abstract all numbers to N and strings to 'S'
  -n NUM       abstract numbers with at least n digits within names
  -g PATTERN   grep: only consider stmts that include this string
  -h HOSTNAME  hostname of db server for *-slow.log filename (can be wildcard),
               default is '*', i.e. match all
  -i NAME      name of server instance (if using mysql.server startup script)
  -l           don't subtract lock time from total time
-s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string
-s,是order的顺序,主要有c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时后,解释为平均时间,但是用下来是倒叙方式

Tags: , , ,
分页: 6/11 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]