分类目录归档:服务器&数据库

linux top 命令详解 [Debian 9为例]

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 — 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)

内容解释:

第一行(top):
  15:24:36 系统当前时刻
  14 days 系统启动后到现在的运作时间
  3 users 当前登录到系统的用户,更确切的说是登录到用户的终端数 — 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目
  load average 当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程

第二行(Tasks):
  288 total 当前系统进程总数
  1 running 当前运行中的进程数
  287 sleeping 当前处于等待状态中的进程数
  0 stoped 被停止的系统进程数
  0 zombie 僵尸进程数

第三行(Cpus):
  7.3% us 用户空间占用CPU百分比
  2.0% sy 内核空间占用CPU百分比
  0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
  90.4% id 空闲CPU百分比
  0.3% wa 等待输入输出的CPU时间百分比
  0.0% hi
  0.0% si
  0.0% st

第四行(Mem):
  2042616 total 物理内存总量
  1770116 used 使用的物理内存总量
  272500 free 空闲内存总量
  163912 buffers 用作内核缓存的内存量

第五行(Swap):

表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。
  2094076 total 交换区总量
  45052 used 使用的交换区总量
  2049024 free 空闲交换区总量
  346624 cached 缓冲的交换区总量

最下部分的进程列表栏:

以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top 内部命令可以控制此处的显示方式:
  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级别,越小越优先被执行
  NInice:值
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:
  s- 改变画面更新频率
  l – 关闭或开启第一部分第一行 top 信息的表示
  t – 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
  m – 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
  N – 以 PID 的大小的顺序排列表示进程列表(第三部分后述)
  P – 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)
  M – 以内存占用率大小的顺序排列进程列表 (第三部分后述)
  h – 显示帮助
  n – 设置在进程列表所显示进程的数量
  q – 退出 top
  s -改变画面更新周期

SVN 服务器迁移记录

写在前面:

两服务器均为Debian系统,原服务器subversion版本(svnadmin –version):version 1.8.10 (r1615264),新服务器版本:version 1.9.5 (r1770682);

1、原服务器备份:

user@debian:~# svnadmin dump /home/subver/xxx > xxx.dump

将生成的备份文件转移至新服务器

2、新服务器安装subversion

user@debian:~# apt-get install subversion

3、新服务器导入原服务器备份文件

创建项目文件

user@debian:~# svnadmin create /home/subver/xxx

修改配置文件 /home/subver/xxx/conf/svnserve.conf : 去掉anon-access = read、auth-access = write、password-db = passwd 三行前面的 # 和空格

修改配置文件 /home/subver/xxx/conf/passwd : 新加入一行 : 你的用户名 user = 密码

导入备份文件

user@debian:~# svnadmin load /home/subver/xxx < xxx.dump

4、启动svn服务

user@debian:~# svnserve -d -r /home/subver –listen-port 8000

mysqldump 备份数据库

root@debian:~# mysqldump -u*** -p*** –database xxx > /root/xxx.sql
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.

root@debian:~# mysqldump -h localhost -p 3306 -u*** -p*** –database xxx > /www/xxx.sql
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
mysqldump: Got error: 1044: Access denied for user ‘mall_hec8_com’@’localhost’ to database ‘3306’ when selecting the database

root@debian:~# mysqldump -u*** -p*** xxx > /www/xxx.sql
root@debian:~#










SQLServer隐藏其它数据库,让用户只能看自己的数据库

SQLServer种,隐藏用户没有权限的数据库,让他只能看到自己拥有权限的数据库
这个很多人都问的问题,可能很多都有没有得到答案
首先你阅读以下ms关于VIEW ANY DATABASE 权限的说明

VIEW ANY DATABASE 权限
http://msdn.microsoft.com/zh-cn/library/ms189077(v=sql.105)

最下面有一句

若要限制数据库元数据的可见性,请拒绝登录帐户的 VIEW ANY DATABASE 权限。

拒绝此权限之后,登录帐户只能查看 master、tempdb 以及所拥有的数据库的元数据
然后有不少人尝试了
DENY VIEW ANY DATABASE TO [login]
但是发现用户除了master、tempdb 看不到其它的数据库
这是以为对以及所拥有的数据库的元数据这里的理解问题,这里指的是数据库拥有者
不是你分配给用户的权限、不是 db_owner
你可以使用下面的语句修改数据库的拥有者给这个用户

ALTER AUTHORIZATION ON DATABASE::databaseName TO login_name

然后刷新一下就可以了看到这个用户拥有权限的数据库了
注:这条语句意思是在数据库databaseName上赋予login_name用户管理员权限,远程接连上之后,login_name的权限不是只读的,拥有所有权限。

进销存系统如何处理“同种商品的不同进价”的问题讨论汇总

我先说说我的处理方法:
1,要求客户严格按照先进先出的原则卖货
2,系统也按照这个原则出货,每次销售时都根据这个原则查到出售手机的入库单号,从而得到成本价
不过这样做不仅麻烦,而且不容易保持,就是说,如果客户有哪次卖没有按照先进先出的原则,拿错了,利润的计算就无法准确了

1

这是财务上的记账原则,先进先出和移动加权,其实有哪种记账都是一样的,主要看财务是采用哪种方式。
对于先进先出,我以为做的时候将所有的放库都放在一个批次表(这里记录商品的成本价及批次号),当出库时就按先进先出做就可以了。对于客户不按先进先出拿货,这个就是管理上的问题了,可以为每个批次进行编号(条码等)以防止拿错货,而且像手机等都有唯一编号吧,像超市百货中基本都采用条码管理的。
对于移动加权也是一样,就是把总成本 /总数量得到平均成本,这个值是一直在变的
对于我个人来说,我还是喜欢先进先出的原则

2

实际上这个问题当中,只是一个退货价格和退货处理的问题。个人的意见是即使是货物退还给厂家,那么对于商家也是存在成本投入的,所以这个退货,更合适的方法是以进货平均价格退(卖)给厂家。
从买方来说,则希望把最高的价格退给厂家,而对厂家来说,则更希望退回来的价格最低。
所以在产生纠纷,而事先在合同当中没有进行约定的情况下,并且没有办法区分是哪一次购买的情况下,一般以平均价格进行裁定。除非不同批次的货特存在质的差异,这个差异包括生产日期,如果合同当中有标明生产日期的话。
就这个问题,以前我们做系统的时候,也有客户提出过疑意。他们一开始就如楼主那样,以为进货的时候是什么价格退货也是什么价格。而我们提出来的是,比如你当月一日从厂家购入,此时市值可能是10000,但是你退还的时间并不是当天,此时你就有10000的成本在占用,当你到当月二十九日退货的时候,实际上你这10000的成本就被整整占用了28天。所以从成本的角度来讲,你的这10000的投入还是仍然应该算是你本月的成本投入。并不能把这10000万的投入当作从来没有发生过。

3

使用批号执行先进先出原则进行库存管理是对的。只是这个利润统计,个人意见不赞同需要如此明细。至少同质商品完全可以归结到一起。
那么就形成三个部分:已卖出产品的成本+已卖出产品的最终售价+存货成本
如果完全按照先进先出原则,我们做个假设:
1日 采购 300件 单价120元
9日 销售 250件 单价150元
21日 采购 200件 单价128元
23日 销售 150件 单价151元
这个月形成的就是:
已卖产品成本:120*250+120*50+128*100
已卖产品销货:150*250+151*50+151*100
存货成本:128*100
这个时候你就会发现,本月已经完成的销售当中的平均成本是:122,平均售价:150.375,平均利润:28.375,而剩下的存货成本却变成了:128,这合理吗?同样的进货为什么单位成本却完全不一样?
接着:
次月8日 销售 100件 单价152元
平均成本:128,平均售价:152,平均利润:24,存货成本:0
再来看两个月的报表,同样的进货,后一个月实际销售价格比前一个月的涨了150.375,但是利润却还下滑了4.375,这合理吗?
为什么会出现这种情况呢?原因就在于,你实际上把前一个月的成本分派到了下一个月
反过来,我们如果使用平均成本就不一样:
当月:
平均成本:123.2,平均售价:150.375,平均利润:27.175,存货平均成本:123.2
次月:
平均成本:123.2,平均售价:152,平均利润:28.8,存货平均成本:0
这样才真正反应了后一个月比前一个月的的价格走势。

4

对于实际成本当中的两种计算方式,我这里所采用的是移动加权平均法。如果你觉得你对成本会计很在行的话,也不妨给大家分析分析。本身就是一种讨论,但是我不希望用一种没有任何依据的方式,而使用某种“隐讳”的字眼来进行否定。成本的计算,本身就是一项很复杂,甚至是一直存在争议的。也正因为如此才有了如此种种因惯用而形成的规则。之所以有如此多种计算方式,那就是因为各有各的理,各自所反应的问题不一样。这里还只是从实际成本出发,如果从标准成本来看,那就更加复杂,价格的大幅波动对于标准成本的估算,绝对是一个考验。

5

楼主…这种情况.千万不要用先进先出…这个苦头我是吃大了..
强烈建议使用个别计价法,我单位的库存系统就是这样,我们在做开发的时候,先进先出在计算平均价格方面,每个月都有误差.每个月都要额外的生成一个平账单(有时候会出现0数量,但是还有金额的情况),来保持帐目平衡,很麻烦.
个别计价法简单的说,就是进来是什么价格,计算成本的时候,就是什么价格.出去的时候就是什么价格…
进来的商品,记录了单号,数量和价格.出去的商品,除了数量之外,价格是有个选择的界面,选择对应的入库单据.然后把价格从对应的入库单据带过来.然后出库(销售)的时候价格也放在出库单这边,也可以不放,然后计算利润的时候,直接(销售价格-原始价格)/原始价格,就是利润值了.
但是,我们负责财务模块的同事也说过,合理的选择不同的计价方式,可以合理的避税…这个是后话了..不过,我实施的经验就是,个别计价法比先进先出更容易实现,并且数据更准确.

6

个别计价确实是简单、准确、明了,但是会苦了会计。如果某一个月利润冲上了天,而某一个月又落到了地狱(当然只是打个比方),软件开发人员的简单,对于会计那压力就不是一点点。对于企业那更是一个头两个大,赚得不多,还要赔上赋税。

7

建议LZ先到会计学习一下记帐方法,主要有工业会计和非工业会计,有着很大的区别。
其中重点知识:进价、零售价、折扣价,进价成本/库存成本/销售毛利/净利润的单价、数量和金额
在了解这些后,你的问题就解决得差不多了。所谓的进进出出,都是面向解决记帐凭证的管理,至于表现出的业务,进货、销售以及退货等的管理,都是表面的应用。
在深入的数据分析中,就是会计的核心思想了。

8

我们给生产企业做了几套仓库系统,由于不同进价的材料太多,价格每天都在波动,所以就都采用月移动平均法。
这几套软件在每月结帐前先做一次金额结算,计算出各物料的加权单价。未结算前出库单只影响数量。以此做出来的帐目会比较精准。
先进先出法不可避免有很多人为误差。

9

价格如何乱,系统并不会去关心。象价格波动过大的商品,更不可能象楼上说的那样进行个别计价。
我打个比较特殊的比方,当然也是有非常多企业运营过程当中所面临的,仅供大家分析参考。
A市场经理,在1季度,第一次进货2000,进价是1500,销售掉1900,售价是2500(很有利润空间),第二次进货是10000(比较飘飘然),进价是2100(涨了,涨得很疯),按照个别计价,那么他所创建的利润就相当高了,1900 * (2500 – 1500)=190万
但是他留下存货是1500 * 100 + 2100 * 10000
A市场经理走人了,B市场经理进来,市场开始不景气,第一次销售1000,售价只有2200,第二次销售 2000,售价 2100,第三次销售 5000,售价只有1900
于是他的利润为:(2200 – 1500) * 100 + (2200-2100) * 900 + (2100-2100)*2000 + (1900-2100) * 5000 = -84万
然后B市场经理自然地受到了公司的极大批评,而B市场经理却觉得很委屈:凭什么A市场经理的决策失误却要他来承担?
B市场经理接手的这个烂摊子是谁留下的?很自然的就让人想到了A,可是按账面看,A可以创造了巨大的“利润”,为什么说他留下的是烂摊子?

10

1.成本计算是有规定的,你只能从现有的方法中,选择一种或多种
2.去找一份Oracle ERP的成本会计student guide看看,然后选择一种成本计算方法

11

对仓库来说 只做进和出两总操作
计算利润也就是计算成本
3种方式 加权平均 先进先出 后进先出 期初的时候选定一种成本计算方式 以后不可更改
退货出库和调拨出库都是是出库的一种
退货入库和调拨入库也走是入库的一种
还有盘点时的盈亏出库/入库 及级报废出库等等
都是只价格不同 操作上没区别
至于利润 其实不是进销存关心的事 仓管只需要管数量
钱是财务的事 财务关心的每期的每笔支出 和收入 不可能细化到某条库存

12

移动平均计价法是财务进行成本核算得一种方式,存在一下四个特点:
1、采购需要重新计算成本价、采购退回是红字采购,是采购的一种。
2、销售不影响成本计算,销售退回是红字销售,是销售的一种。
3、存在成本转利润的问题,当存在库存数量为零,而库存成本不为零,需要进行结转,将成本结转为利润。
4、单据的计算顺序会影响单据的成本核算。
只要遵循上面的4各特点,怎么算都不会错。

13

1 看来你很反对使用先进先出法来进行会计上的核算,但我只是强调一句,针对手机销售这个行业,目前的运作模式,只有先进先出是最能体现其行业运作特点并进一步支持其业务的一种核算方法。
2 你举了许多例子,当然,从数据上看没有问题。但是,你这是个凭空想象的案例,其实没有任何意义。也没有说服力。因为它根本就不符合手机销售这个行业的特点。当然,我的客户中手机行业只是几家,不能完全代表所有的手机销售商,所以我仅限于我了解的行业需求。
想强调一点,做管理软件绝对不能闭门造车,无论什么时候,都应该深入了解这个行业的经营模式之后再进行所谓的需求分析。没有针对特定企业的实际业务模型的调研,不明白为什么要如此做,就想当然的认为自己的方式最好,这种工作的方法是不可行的。做出来的东西对企业没有什么好处。

14

摘抄一些关于“先进先出”成本计算方法的小知识,供参考(标红的是我提面讨论当中比较强调的)
什么是先进先出法?
先进先出法是存货的计价方法之一。它是根据先购入的商品先领用或发出的假定计价的。用先进先出法计算的期末存货额,比较接近市价。
先进先出法是以先购入的存货先发出这样一种存货实物流转假设为前提,对发出存货进行计价的一种方法。采用这种方法,先购入的存货成本在后购入的存货成本之前转出,据此确定发出存货和期末存货的成本。
例如:
假设库存为零,1日购入A产品100个 单价2元;3日购入A产品50个 单价3元;
5日销售发出A产品50个,则发出单价为2元,成本为100元。
先进先出法假设先入库的材料先耗用,期末库存材料就是最近入库的材料,因此发出材料按先入库的材料的单位成本计算。
先进先出法的运用
先进先出法是指根据先购进的存货先发出的成本流转假设对存货的发出和结存进行计价的方法。以先进先出法计价的库存的商品存货则是最后购进的商品存货。市场 经济环境下,各种商品的价格总是有所波动的,在物价上涨过快的前提下,由于物价快速上涨,先购进的存货其成本相对较低,而后购进的存货成本就偏高。这样发 出存货的价值就低于市场价值,产品销售成本偏低,而期末存货成本偏高。但因商品的售价是按近期市价计算,因而收人较多,销售收人和销售成本不符合配比原则,以此计算出来的利润就偏高,形成虚增利润,实质为“存货利润”。
因为虚增了利润,就会加重企业所得税负担,以及向投资人分红增加,从而导致企业现金流出量增加。但是从筹资角度来看,较多的利润、较高的存货价值、较高的流动比率意味着企业财务状况良好,这对博取社会公众对企业的信任,增强投资人的投资信心,而且利润的大小往往是评价一个企业负责人政绩的重要标尺。不少企业按利润水平的高低来评价企业管理人员的业绩,并根据评价结果来奖励管理人员。此时,管理人员往往乐于采用先进先出法,因为,这样做会高估任职期间的利润水平,从而多得眼前利益。
运用先进先出法的注意事项
先进先出法,期末材料按照最接近的单位成本计算,比较接近目前的市场价格,因此资产负债表可以较为真实地反映财务状况;但是由于本期发出材料成本是按照较早购入材料的成本进行计算的,所以计入产品成本的直接材料费用因此可能被低估,等到这些产品销售出去就会使利润表的反映不够真实。
先进先出法的适用性
根据谨慎性原则的要求,先进先出法适用于市场价格普遍处于下降趋势的商品。因为采用先进先出法,期末存货余额按最后的进价计算,使期末存货的价格接近于当 时的价格,真实的反映了企业期末资产状况;期末存货的帐面价格反映的是最后购进的较低的价格,对于市场价格处于下降趋势的产品,符合谨慎原则的要求,能抵御物价下降的影响,减少企业经营的风险,消除了潜亏隐患,从而避免了由于存货资金不实而虚增企业帐面资产。这时如果采用后进先出法,在库存物资保持一定余 额的条件下,帐面的存货计价永远是最初购进的高价,这就造成了存货成本的流转与实物流转的不一致。
先进先出法的优缺点
其优点是使企业不能随意挑选存货计价以调整 当期利润,缺点是工作量比较繁琐,特别对于存货进出量频繁的企业更是如此。而且当物价上涨时,会高估企业当期利润和库存存货价值;反之,会低估企业存货价 值和当期利润。
在通货膨胀情况下, 先进先出法会虚增利润,增加企业的税收负担,不利于企业资本保全。而且,先进先出法对发出的材料要逐笔进行计价并登记明细账的发出与结存,核算手续比较烦琐。

15

进销存软件
这个看定位了吧
定位成记帐,库存管理等。而不是一个 利润走势分析 的软件
库存-商品名、批号、进货价、零售价基本可以 【记录】 已发生的 商品在库存环节发生的过程了
-----------------------------
至于 同种手机 不同批号 进价不一样
完全可以在 库存表中 添加 批号项的
在零售开单时,必须选择对应批号的产品,就解决了
换句话说。同种手机不同批号。对数据库而言,看成两种不同的商品进行处理
-----------------------------
月底查
无非是对产生销售行为的产品 统计出 进货价×数量 和 零售价×数量
而已
至于利润走势分析。这个应该是另外一个话题了吧

16

1、销售成本的核算就看公司是否一定要用到先进先出、或者按批次核算,用批次核算的话,公司的管理是否能跟得上,就是同一部手机进货价格是不一样,在出货时,公司的员工是否能区分哪一部手机是最新进来,即公司的管理有没有达到这一层,如果没有达到,趁早不要去想什么先进先出和批次成本核算。如果真的要先进先出核算的话,就看要不要对实物,即哪一部是先进仓,如果要对到一点只能用批次来做,用批次来做就很容易实现成本和利润的(因为销售的时候记录每一个批号),但是用批次也带一来几个麻烦,每个月底的盘点就很难设计了。如果不对应实物,但是成本按先进先出来核算的话,那你在设计时,进仓、盘点、采购退货就要有一个已出数量,然后写一个存储过程来对每一个进仓的商品进行反填已出数量,这样就可以实现先进先出的。但是在系统设计时,要注意没有货时,也可以销售,那时的成本要考虑怎么计算,你可以参考我写的成本核算的文章:http://blog.csdn.net/fstao/archive/2008/02/14/2095329.aspx
2、如果用加权平均核算的话,就要考虑到一点就是月底库存金额与月底库存金额可能会不一致,但是根据会计原理这样计算是没有错的,这个你也要花费一些时间与用户说明白。用月平均核算成本就不会出现这种问题的。

16

很多朋友都提到一个严格按照,先进先出法进行销售。但是,我就碰到过几家店子存在这样一种情况:比如同一款号的手机,前一批次进来的还没有卖完,里面的软件是低版本的(例如去年的S40 3th Edition),这时客户在购买的时候,就会直接提出要新的。但是既然是同样的价格,同样型号的手机,你没有理由不卖给他,不是么?当然客户没有提出来的情况下,肯定是执行着先进先出,而有客户要求换的时候,那可能就会被打乱。

17

从财务会计的角度看关键在于会计周期,从管理会计和销售管理的角度看关键在于是否要考虑时间标签。
具体来说,从财务会计的角度看根本不必考虑什么先进先出,不信去问问专业会计,所有有会计证的人都懂财务会计。而从管理会计的角度看国内所有中小企业搞得什么先进先出都是假行家的伪科学(您听说过的Dell、HP、Walmart根本就没有这一套),而国际大公司的财务管理模型里真正能用上时间标签的全球不超过100家。顺便说一下有会计证的听说过管理会计的不到10%,而这10%里真正懂一点的又不超过10%,也就是说100个专业会计也不超过1个懂一点管理会计的。
总之,如果不懂财务会计在这个问题上基本上就没有发言权,而如果不了解管理会计的基本概念您的讨论也就是自娱自乐而不会帮助到企业的。

18

我说说我对这个系统的理解
你要处理的商品是电子产品,这个商品有它的一些特点不同如其他产品
1、电子产品价格变化较快
2、存在保修、退货、退库等问题,一般情况下不同批次的产品反点数不一样。
由于这个特点我建议将成本核算与商品管理分别处理。
1、产品管理:应记录批次号、机身号(每部手机都有个机身号,商家保修退库好象都是以这个号为依据的)
2、成本管理:建议按移动加权平均成本计算。由于这类产品价格市场变化较快,无论是先进先出、还是后进先出或简单平均法都不能真实的反应库存成本情况。因为你不可能要求客户一定要买你先批次的产品,更不能保证你的卖出价就一定会比你库存中最早批次的进价高。

19

加工型企业?
要从材料到成品一线跟踪下去是相当复杂的,甚至有时候无法完成跟踪。如果只是为了进行材料品质的跟踪,那应该在于QC。采购要进行检验,用料尽量遵守先进先出原则,周期性盘点,生产完成(包括成品和半成品)需要进行检验。从多个环节把关进行控制。
如果可以做到的话,可以对采购、生产、用料、销售,做好批次控管,这样可以大致做到跟踪。

20

销,返利,返佣,这些不只是手机销售当中有,众多行业都存在,而其中保健品(OTC)销售当中更显突出。
促销通常可以归为两类,一类是搭售(这个虽然从法律上来讲是不允许的,但是却又是普遍存在的),搭售也有称之为捆绑销售,特点是,只要你购买产品就可以得到一份同类或不同类的附售品,如买蚊香送蚊香片;另一类,则是根据购买的量附送一定的赠品,包括如买二送一等等一类的。
根据前类的一个转化,就存在一个返利,这个就包括节日折扣等,特点跟前面的搭售不同的是,它没有实物参与,而是直接在原来商品的基础上面做一个价格的折算,其中计算公式则众多了。
而返佣,也叫做贿赂,这虽然说应该算是违反商业规则的,但也是普遍存在的。
但是这些都是实施细节,并且也是众多系统,不管是零售,还是规模销售都需要处理的问题,而且都要计入销售成本,至少是利润(各单位各系统处理方式不一样),而其中跨单位的搭售,相对更为复杂,目前法律上已经禁止。
我还是那句话,这些都不成为采用个别计价的必要。并且如果在搭售的时候,使用个别计价会使得设计更加的复杂化。

21

掺和一下,楼主只需按自己思路做就好了,入库单上包含“单号、商品单价、入库量、商品批次号、批次销售量”及其他相关条件,销售时根据“商品和商品批次号”销售,销售总量填充“批次销售量”,批次销售量=入库量时表示该单入库商品销售完毕,原则上不能退货;小于时可以退货。统计库存用“入库量”合计-“批次销售量”合计得出;退货也是入库单一种,入库量为负数,值=“入库单上的入库量”-“入库单上的批次销售量”。
不过这样就需要软件使用企业增加一个岗位:仓管员,必须明确其发单责任,不然容易混乱。
这是根据楼主给出的条件的一些操作方法,参照的是一些在用的零售软件操作思路,仅供参考。

22

哈哈。也来混一下。
楼主有个基本原则搞混了。楼上僵哥也提到了:移动加权平均法是计算库存成本的方法。先进先出,这个是管理库存出入的方法。
你这里没有提到客户的会计需要按什么方法来计算他的库存成本。也就是库存单价。
你目前的思路是 商品销售价格-商品进货价格=商品利润,这个是单个商品的思路。财务的思路是:当月销售总额-当月库存总额-当月进货总额-。。。=利润。通常的进销存也不帮财务计算利润。因为我们理解的利润根本不是财务要的利润。
你一定要利润,这里我觉得应该等于 销售金额-出库金额。
补充一个,如果批号不同。你为了计算方便可以在计算库存成本的时候看成不同商品。但他们同属一类。这样给财务看的是类的库存金额,在处理退换货的时候,把它看成不同商品。

23

你说的问题和我公司的业务有点类似,不同的是你做的是手机业务我做的是药品业务,对品种的流向控制要求更严格(国家对药品有严格的法律规定的)。同一品种可能来自不同的上游供货商(也可能是厂家),进货价不一样,进货的批号更是不一样,由于各自的销售政策(有些厂家规定某一批次只能向某种类型的单位销售,错了是违约的),同时药品的GSP管理办法中规格要求每一批次的流向都是明确的,有些药品可能要经过销售、退回、再销售、再退回。。。。的流向,每次都不能错,要不是这样,如果药品有问题你就不知道找谁去了。如果简单的象楼上有的方法处理根本不可能解决的这种问题(不做企业管理的人不会有很深的体会,现在很多情况是写软件的不去管理,搞管理的不懂写软件,写出来的东西符合书本,不符合企业经营)。处理这类问题要分清业务和财务是有区别的,由于现在关于财务的书大多以工业企业为例子,不大适合现在的商业单位。对于商业单位的财务的发生,是全局(抽象)的不针对具的某一具体的商品,财务的数据只是业务数据的一个方面的反应,但业务又是非常复杂,不单单是财务数据能包含和代替的(我记得有个财务方面的教授所就的,财务只是公开的数据反应,更多的是要关心数据的真实组成)。
比如我们药品销售是要求(只列出与这个问题有关联的):
1、适合GSP管理,做到每批药品的购、销、存及药品报损要十分清楚;
2、对药品的到票,到证(特殊商品有特殊的证件),来货的单位的合法性要十分清楚(有可能上次进货时还是合格的,下次就过不合格了);
3、对财务要做到每对批货的调价,退补等(有的药品对不同批号厂家要求销售的对象是不同的,出了错是违约的行为);
4、对特殊药品(如麻药等)国家严格控制的要对销售单位严格控制;
5、对各供货单位的付款要严格按合同期限(有的是到货后三个月等,有的是销售后才付,特别是销售后才付这类,因为我们下属还有一个零售连锁公司,财务是分离的,但数据又要连续);
6、对不同的销售单位实行不同的销售价格(成本核算不一样);
。。。。。。。。。。
我的处理方法很简单就是对每个入库的药品给一个唯一的ID号,这个号码不论是在购、销、存中任一个环节都是不变的,(实际上就是财务上的个别计价方法)。至于药品名称的和其它属性只是对这个ID的一个说明而已。这样上述所有的问题都解决了,而我们写程序的要做的是在后台做好一切,让操作者感觉不到这个ID的存在,对操作者来说只有药品。对是否是先进先出等只是一个查询排序的问题(ID号本身都具有时间性的)由开票人员自己定制,而财务数据只是业务数据的另一个查询。最重要的是这样做对后期做更高级的分析做好的数据准备。
结果很简单,可能有很多人不赞成,我想这也是可以理解的,不同的业务有不同的处理方法,不同的企业文化有不同的要求,要不然都统一成一个模式, 做程序的不就没饭吃了,事实上,我这套软件帮助我们公司过了2次GSP认证,一次是国家级认证,在药品的流向上没有出现任何问题。另外这样做简化了财务数据的录入(因为每个货品的业务是明确的),公司由原来的十几个会计裁了一大半只剩4个会计

24

人建议的方法是产品管理与价格管理分离,虽然说价格离不开产品,但是会其它因素制约,特别象生活必须品和药品一类,由政府指导价或者直接定价的产品,这个价格更得分离管理。除了库存有流水,价格也会形成一个流水。
产品的跟踪,在比较多的行业都存在。但是跟踪的依据不是库存,而是进和销,当一批产品进来的时候,对个别进行跟踪的必要性不太大,当然,条码(这里我把商品的唯一编码统称为条码)的明细还是要入库管理的。而只有当一个产品报废、退库、销售才需要进行个别跟踪。这个时候不管是报废还是退库,还是销售,实际上应该直接与产品的来源相关系,而不是库存,因为库存出货之后,就不复存在。这是内部的管理。对外的还有一个售后的服务。应该要建立起一个售后服务记录。而售后服务当中有存在换货的情况,采用类似于财务作账的模式“一借一贷”,同时在销货售单(也称销售单)当中注明其相应的售后服务记录,换句话说,售后服务是完全为销售服务的。
对于楼上朋友说的,专品专售,这个可以级别(实际也就是一个特殊的标识),从而跟CRM系统进行关联。

25

就手机行业而言,要比药品要简单,条码在药品行业是不准确的(不能反应批号,对零售这种先拿货后开票是可以的,但对批发是先开票后发货是不太合适的),而且近1/3的品种是没有条码,另外由于药品生产量大,有可能产生这样的情况,同一批号有可能在两家商业公司中进到,当然这种情况很少,但只要有一个,所有的数据都会变成不可信
关键的一点是不要把业务和财务混为一谈,尽管最终是归一的

26

信息管理作为管理的一部分,是没有内外区别,区别在于书本与实际,作为软件是对经营管理过程中的一个工具,应该也必须体现企业的具体的经营者的思想,企业文化,不能让管理让位于软件,而是让软件服务于管理者,如何处理数据的复杂是程序设计者去做的,对于使用者,他要的是结果而不是过程,软件要给企业带来效益,才能体现价值。就我认为,现代计算机完全可以胜任个别计价的方式记录数据,当然这种方式不适合所有情况,比如我们下属的一个酒店,我在写酒店管理的菜品销售以及物品的购销存就是用移动平均法做的(而且在之前我在酒店兼任了好几个月的经理,对每个环节的管理都直接参与),因为这符合酒店管理的实际情况,这时就不能用个别计价了,因为大多数据业务是不需要售后服务,购进的物品也没有具体的归属(你不能把一斤肉归到某一菜品中)。
所以具体问题具体分析,就楼主的问题我认为个别记录的方法较为合适。

27

对于手机行业的流通形式我不是太清楚,不好断言,所以只是说了自己的想法。我只是就事论事。
但对于药品行业,我想比一般的人有发言权,我就多说两句题外话
首先,药品是不能由销售商来打批号的(如果是要么是假药,要么是合法的药品分装厂家),药品的批号管理是非常严格的,这里我就不讨论GSP管理了,有兴趣的话可以看看;
其次,药品是不能有内部批号的,我从未听说有此一说(本人进入事药品行业有六年了,以前做了七年医生),因为药品必需按外包装上的批号发货;
第三,药品调货是药品行业正常的业务,在同行中由于某个药品缺货在其他批发公司中调货(以前叫调拔),经常会有一批货在几个批发商中转圈,只要对方是合法资质的都是合法的,所以同一批号出现几个商业公司中是正常的;
第四,有问题的品种只会由该批货物的上家来负责,而不管它是从何而来,只要进货时它是合格的(上家去找它的上家);
第五,药品采用个别跟踪的方法就麻药而言已经是有五年的历史了,所有的麻醉药品每一次销售都是要在一个周内上报给国家药监局的,而且去年已经实现对麻药的完全跟踪(每一支药,每一盒都有唯一的代码,就是报损消毁还得有公安人员在场);
第六,药品的流向是要完全可控的,不是随便的,要不然吃药就不放心了,药品的流向药监局是每个月都要来查的(如果有地方不是,只是地方上管理问题,国家是这样规定的,就我们公司来说发错一次批号是要扣10元的)
最后,我只说我实现了的方法,不一定适合别人,只是一种建议,另外也不复杂,尽管我们药品品种现在有近两万个,在库药品品规的话有十万个左右,操作起来没有什么不好的地方
对于药品:
在药品中对某一品种个别调整价格也是常见的,通常是对某一个批号(或者某一时期购进的药品),进行商业推销活动(流向是要发回厂家的),可能根据厂家的要求,厂家在补差价后,进行调整价格,不仅是销售价就是原始进价也要调整,不然品种成本就不对了(不能按财务处理,这种调价处理较一般的复杂)。

28

首先谈谈楼主利润计算的问题:
利润计算的公式大家都很清楚:销售利润 = 销售收入 - 销售成本(为了便于问题的描述,在这里忽略掉税的问题,虽然这里用的名称:销售收入和销售成本都是剔税的概念,下面的讨论就不再涉及税的问题。
销售收入很容易理解:卖了多少钱。
销售成本:这个不太容易理解,最直观的理解就是买来花了多少钱,这就要求我们追踪每一个出售的商品的采购价格,而这往往是复杂的、费事的、没有必要的,更为关键的是容易出错的。
因此,我们有必要来谈谈销售成本的问题,只要把销售成本的问题谈清楚了,利润的问题就没有问题了。
那么,我们换一种思路来理解销售成本的问题,我们可以这样理解销售成本,我们销售的东西值多少钱。
其实这又和另外一个需求吻合了,也就是我们的客户不但要知道我仓库里有多少东西,还希望知道这些东西值多少钱,我们称为库存成本。
好了,销售成本和库存成本的问题都转换成了值多少钱的问题。
然而,值多少钱的问题在现实一般理解中是没有一个定论的,各有各的说法,因此根本无法计算。
还好,在会计上有一些比较规范的定义,那就是商品计价法则。
常用的计价法则有很多种:月末平均、移动平均、先进先出、后进先出、个别计价、末次进价等
商品计价法则虽然有很多种方法,但一个会计年度只能选择其中的一种,一般在一个会计年度之初进行确定,而且必须报税务部门批准,整个会计年度没有特别的情况一般是不允许变更。
还有一个不得不说的问题就是,当库存数量为零时,库存成本也必须为零,但上述各种计价法则的计算结果可能与这个相冲突,因此,会计上有一种转出的操作,可以将多余的库存成本结转成利润。
上面是会计帐务处理的法则,进销存是业务系统,主要为业务管理服务,需要给出的是能够及时准确反映市场情况的信息,同时为了能够表现数据的真实有效性,还必须在相同规则下与帐务数据一致(会计帐务数据具有法律有效性)。
那么,我们在进销存系统中就要采用上述法则提供多种计价方式(业务的管理由管理者决定,因此管理者最有发言权,他只要进销存按照约定的规则给他数据,并确保及时准确,至于决策,并不是进销存软件的事)。
好了,上面说了很多,只是为了说明问题的本质是什么,下面我们看看两种比较常用的计价法则用电脑怎么实现。
1、先进先出法则(如果两个批次的进货,在同一时间的售价不同,我们应该将其视为两种不同的商品,下面讨论的都是基于售价相同的前提)
0)准备:需要建立销售检查点,包含采购序号(注意与采购单号不一样,严格按照采购记帐的顺序生成的),商品号,剩余数量。
1)采购:增加库存数量,增加库存成本(这个很容易吧,不需要多讲)
2)采购退回:视同采购,只不过都是负数,注意:这里会产生转出的问题。
3)销售:减少库存数量,计算销售成本(根据具前面的销售检查点进行计算),减少库存成本(将库存成本减去本次的销售成本),修改销售检查点。
4)销售退回:视同销售,增加库存,计算销售成本时是从销售检查点往前计算,增加库存成本,修改销售检查点。
2、移动平均:
1)采购:增加库存,增加库存成本
2)采购退回:视同采购,注意:这里会产生转出问题。
3)销售:减少库存,计算销售成本(库存成本/库存数量×销售数量),减少库存成本(将库存成本减去本次的销售成本)
4)销售退回:视同销售。

29

数字游戏,用户要求用批次就用批次
裤衩比星星
你买X批号1:100,卖X批号1:150,你买X批号2:1000。你的利润50没错,另有1000的X没记,说你亏本,不正确,只能说你买没记利润的X1000时怎么了?先进先出和移动平均只是一个忽略批号简化算法。

30

 
资料来源:
https://bbs.csdn.net/topics/240033876
延伸案例:进销存设计与分析_成本核算
https://blog.csdn.net/fstao/article/details/2095329

Report Server Windows Service (MSSQLSERVER) 无法与报表服务器数据库建立连接 107 【待验证】

事件类型: 错误
事件来源: Report Server Windows Service (MSSQLSERVER)
事件种类: 管理
事件 ID: 107
日期:  2010-9-13
事件:  7:54:40
用户:  N/A
计算机: TOM-EB8E45ECB43
描述:
Report Server Windows Service (MSSQLSERVER) 无法与报表服务器数据库建立连接。
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
 
表服务器无法打开与报表服务器数据库的连接。所有请求和处理都要求与数据库建立连接。
(rsReportServerDatabaseUnavailable) 获取联机帮助用户’sa’ 登录失败。
解决方法:
在确保sqlserver使用的是“windows和sqlserver认证方式”之后,运行rsconfig -c -s local -d reportserver -a SQL -u sa -p 密码
指定登录数据库的正确的用户名、密码。
rsconfig命令参数解释:
-s后的参数表示sqlserver实例名称;
-d表示报表服务所连的数据库,通常都是reportserver;
-a表示认证方式, windows 或 sql。如果值为 windows,则指定报表服务器在连接到报表服务器数据库时使用。

debian安装使用[持续更新]

1、版本选择:

debian-8.6.0-amd64-netinst

2、默认安装。
3、安装vim

$ su //切换为root用户
$ apt-get install vim-gtk //开始安装vim

4、更改桌面分辨率。
找不到1920*1080 ?

1)$ cvt 1920 1080
2)$ xrandr
3)$ xrandr –newmode “1920x1080_60.00” 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync  // 复制1)结果
4)$ xrandr –addmode Virtual-0 “1920x1080_60.00”  // 于2)中寻找结果
5)找到system setting > display,在 resolution列表下可以看到1920×1080的选项,勾选并apply
6)$ vim /etc/profile

在最后添加如下命令:
xrandr –newmode “1920x1080_60.00” 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr –addmode Virtual-0 “1920x1080_60.00”

 

5、安装Chromium

$ apt-get update
$ apt-get -f install
$ apt-get install chromium chromium-l10n

6、 安装Yakuake

$ apt-get install yakuake

7、安装QQ
此处包含错误操作,,,,,但最终得以成功!

apt-get install ia32-libs*
dpkg -i –force-all *.deb
dpkg -i wine-qqintl_0.1.3-2_i386.deb
dpkg -i –force-all wine-qqintl_0.1.3-2_i386.deb
dpkg –add-architecture i386
aptitude update
aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386
dpkg -i –force-all wine-qqintl_0.1.3-2_i386.deb
add-apt-repository ppa:wine/wine-builds;sudo apt-get update;sudo apt-get install winehq-devel
add-apt-repository ppa:wine/wine-builds;apt-get update;apt-get install winehq-devel
add-apt-repository ppa:ubuntu-wine/ppa
vim /etc/apt/sources.list
# //添加 deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu trusty main
# //添加 deb-src http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu trusty main
apt-get update
apt-key adv –keyserver keyserver.ubuntu.com –recv-keys 5A9A06AEF9CB8DB0
apt-get update
apt-get -f install
apt-get install wine1.7
aptitude update

8、配置LAMP环境。

$ apt-get install apache2
$ a2enmod rewrite // 开启rewrite
$ apt-get install mysql-server
$ apt-get install php5 php-pear

mssql 事务处理- 2例

例一:

declare @iErrorCount int
set @iErrorCount = 0
begin tran Tran_2008_10_07
insert into t1(Id, c1) values(1,’1′)
set @iErrorCount=@iErrorCount+@@error
insert into t1(Id, c1) values(2,’2′)
set @iErrorCount=@iErrorCount+@@error
insert into t1(Id, c1) values(‘xxxx3′,’3′)
set @iErrorCount=@iErrorCount+@@error
insert into t1(Id, c1) values(4,’4′)
set @iErrorCount=@iErrorCount+@@error
insert into t1(Id, c1) values(5,’5’)
set @iErrorCount=@iErrorCount+@@error
if @iErrorCount=0
begin
COMMIT TRAN Tran_2008_10_07
end
else
begin
ROLLBACK TRAN Tran_2008_10_07
end

 
例二:

begin try
begin tran Tran_2008_10_07
insert into t1(Id, c1) values(1,’1′)
insert into t1(Id, c1) values(2,’2′)
insert into t1(Id, c1) values(‘xxxx3′,’3′)
insert into t1(Id, c1) values(4,’4′)
insert into t1(Id, c1) values(5,’5′)
COMMIT TRAN Tran_2008_10_07
end try
begin catch
raiserror 50005N’出错了’
ROLLBACK TRAN Tran_2008_10_07
end catch

备注:
@@error是系统函数,当没有发生错误时返回0,如果发生错误时@@error<>0,并返回错误号,每个SQL语句执行完,@@error值都会变。
另: @@error只记录当前错误
 
附:SQL Server @@参数一览表
 

–返回 SQL Server 自上次启动以来尝试的连接数,无论连接是成功还是失败。
SELECT @@CONNECTIONS AS CONNECTIONS
–返回 SQL Server 自上次启动后的工作时间。其结果以 CPU 时间增量或“滴答数”表示,
–此值为所有 CPU 时间的累积,因此,可能会超出实际占用的时间。乘以 @@TIMETICKS 即可转换为微秒。
,@@CPU_BUSY AS CPU_BUSY
–返回连接上打开的上一个游标中的当前限定行的数目。
–为了提高性能,Microsoft SQL Server 可异步填充大型键集和静态游标。
–可调用 @@CURSOR_ROWS 以确定当其被调用时检索了游标符合条件的行数。
,@@CURSOR_ROWS AS CURSOR_ROWS
–针对会话返回 SET DATEFIRST 的当前值。SET DATEFIRST 表示指定的每周的第一天。美国英语中默认 7 对应星期日。
,@@DATEFIRST AS _DATEFIRST
–SET LANGUAGE italian
–SELECT @@DATEFIRST
–SET LANGUAGE us_English
–SELECT @@DATEFIRST
–返回当前数据库的当前 timestamp 数据类型的值。这一时间戳值在数据库中必须是唯一的。
,@@DBTS AS DBTS
–返回执行的上一个 Transact-SQL 语句的错误号。
,@@ERROR AS ERROR
–返回针对连接当前打开的任何游标发出的上一条游标 FETCH 语句的状态
,@@FETCH_STATUS AS FETCH_STATUS
–返回最后插入的标识值的系统函数
,@@IDENTITY AS _IDENTITY
–返回 SQL Server 自上次启动后的空闲时间。结果以 CPU 时间增量或“时钟周期”表示,
–并且是所有 CPU 的累积,因此该值可能超过实际经过的时间。乘以 @@TIMETICKS 即可转换为微秒
,@@IDLE AS IDLE
–返回自从 SQL Server 最近一次启动以来,SQL Server 已经用于执行输入和输出操作的时间。
–其结果是 CPU 时间增量(时钟周期),并且是所有 CPU 的累积值,所以,它可能超过实际消逝的时间。
–乘以 @@TIMETICKS 即可转换为微秒
,@@IO_BUSY AS IO_BUSY
–返回当前使用的语言的本地语言标识符 (ID)。
,@@LANGID AS LANGID
–返回当前所用语言的名称
,@@LANGUAGE AS LANGUAGE
–返回当前会话的当前锁定超时设置(毫秒)。
–SET LOCK_TIMEOUT 允许应用程序设置语句等待阻塞资源的最长时间。
–当一条语句等待的时间长度超过 LOCK_TIMEOUT 所设置的时间长度时,
–被锁住的语句将自动取消,并给应用程序返回一条错误消息。
,@@LOCK_TIMEOUT AS _LOCK_TIMEOUT
–返回 SQL Server 实例允许同时进行的最大用户连接数。返回的数值不一定是当前配置的数值
,@@MAX_CONNECTIONS AS MAX_CONNECTIONS
–按照服务器中的当前设置,返回 decimal 和 numeric 数据类型所用的精度级别
,@@MAX_PRECISION AS MAX_PRECISION
–返回对本地服务器上执行的当前存储过程的嵌套级别(初始值为 0)。
,@@NESTLEVEL AS NESTLEVEL
–返回有关当前 SET 选项的信息
,@@OPTIONS AS OPTIONS
–返回自上次启动 SQL Server 后,在 SQL Server 连接上发生的网络数据包错误数
,@@PACKET_ERRORS AS PACKET_ERRORS
–返回 SQL Server 自上次启动后从网络读取的输入数据包数
,@@PACK_RECEIVED AS PACK_RECEIVED
–返回 SQL Server 自上次启动后写入网络的输出数据包个数
,@@PACK_SENT AS PACK_SENT
–返回 Transact-SQL 当前模块的对象标识符 (ID)。Transact-SQL 模块可以是存储过程、用户定义函数或触发器。
–不能在 CLR 模块或进程内数据访问接口中指定 @@PROCID
,@@PROCID AS PROCID
–返回远程 SQL Server 数据库服务器在登录记录中显示的名称
,@@REMSERVER AS REMSERVER
–返回受上一语句影响的行数。如果行数大于 20 亿,请使用 ROWCOUNT_BIG
,@@ROWCOUNT AS _ROWCOUNT
–返回运行 SQL Server 的本地服务器的名称
,@@SERVERNAME AS SERVERNAME
–返回 SQL Server 正在其下运行的注册表项的名称。若当前实例为默认实例,则 @@SERVICENAME 返回 MSSQLSERVER;
–若当前实例是命名实例,则该函数返回该实例名
,@@SERVICENAME AS SERVICENAME
–返回当前用户进程的会话 ID
,@@SPID AS SPID
–返回 SET 语句中的 TEXTSIZE 选项的当前值。
–该值指定 SELECT语句返回的 varchar(max)、nvarchar(max)、varbinary(max)、text 或 image 数据的最大长度。
,@@TEXTSIZE AS _TEXTSIZE
–返回每个时钟周期的微秒数。
,@@TIMETICKS AS TIMETICKS
–返回自上次启动 SQL Server 之后 SQL Server 所遇到的磁盘写入错误数
,@@TOTAL_ERRORS AS TOTAL_ERRORS
–返回 SQL Server 自上次启动后由 SQL Server 读取(非缓存读取)的磁盘的数目
,@@TOTAL_READ AS TOTAL_READ
–返回自上次启动 SQL Server 以来 SQL Server 所执行的磁盘写入数
,@@TOTAL_WRITE AS TOTAL_WRITE
–返回当前连接的活动事务数
,@@TRANCOUNT AS TRANCOUNT
–返回当前的 SQL Server 安装的版本、处理器体系结构、生成日期和操作系统
,@@VERSION AS VERSIO

Centos 6.2 配置记录

在Centos 6.2 【64位】上编译安装LAMP几次都不成功,转向RPM包安装,还算顺利地完工了。
问题记录:
1、unpacking of archive failed on file /usr/share/phpMyAdmin/tbl_relation.php;5….
RPM包损坏或者失效,重新找资源下载、安装;搞定;
2、提示依赖程序没安装;
按提示去搜索相应的RPM包安装上去。这里记录几个比较好的RPM包下载网址:

http://pkgs.org/
http://rpms.southbridge.ru/rhel6/
http://rpmfind.net/linux/

3.顺利安装成功,绑定域名,无法访问?
低级错误:配置防火墙、关闭SELINUX、重启;OK;
 
附录:相关配置
一、Apache配置
vi /etc/httpd/conf/httpd.conf 编辑文件
ServerTokens OS  在44行 修改为:ServerTokens Prod (在出现错误页的时候不显示服务器操作系统的名称)
ServerSignature On  在536行 修改为:ServerSignature Off (在错误页中不显示Apache的版本)
Options Indexes FollowSymLinks  在331行 修改为:Options Includes ExecCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)
#AddHandler cgi-script .cgi 在796行 修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)
AllowOverride None  在338行 修改为:AllowOverride All (允许.htaccess)
AddDefaultCharset UTF-8 在759行 修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)
Options Indexes MultiViews FollowSymLinks 在554行 修改为 Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构)
DirectoryIndex index.html index.html.var 在402行 修改为:DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var (设置默认首页文件,增加index.php)
KeepAlive Off 在76行 修改为:KeepAlive On (允许程序性联机)
MaxKeepAliveRequests 100 在83行 修改为:MaxKeepAliveRequests 1000 (增加同时连接数)
:wq! #保存退出
/etc/init.d/httpd restart 重启
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页
二、php配置
vi /etc/php.ini #编辑
date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off #在432行 禁止显示php版本的信息
magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入
open_basedir = .:/tmp/ #在380行,设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题,可注销此行,或者直接写上程序目录路径/var/www/html/www.osyunwei.com/:/tmp/
:wq! #保存退出
/etc/init.d/mysqld restart #重启MySql
/etc/init.d/httpd restart #重启Apche