1、下载最新版:xampp-linux-1.7.1-beta3.tar.gz ; ~4 m3 V$ r: }. h! y6 H+ ~7 l
来自网址:http://www.apachefriends.org/en/xampp-linux.html
2 o$ {) x- |3 G3 U! y! t2、安装:#tar zxvf xampp-linux-1.7.1-beta3.tar.gz -C /opt
U+ m7 y1 y" d( Z2 W/ J 解压到/opt目录,生成Lampp文件夹
' ?4 T! x& O, X9 e- O6 f" J3、启动Xampp: #/opt/lampp/lampp start ) w+ j8 f3 h j2 u
4、把自己做好的网页放入到/opt/lampp/htdoc文件夹下面; 0 @3 \4 n) w9 w: c" h3 z; c
5、打开网页测试:http://192.168.1.1xx或http://192.168.1.xxx/index.html等等; # M4 H1 }2 ]# i. I. Z- m( E( {
6、如果不能打开网页,可能是启动服务有问题,可重启电脑,再次使用 #/opt/lampp/lampp start启动服务,再试。
% G6 s3 R! x( B) B, O9 W
+ L5 w5 K2 G* S; o% R( v* j+ @$ _1 S
***********************************************************************************************
: B9 q, N" B/ Y3 ~3 |* Y+ X; j1 o3 R+ L* ?9 Y
Xampp1.7.1所含软件包: 0 o8 ]8 O; E. a: i2 O
Apache 2.2.6 + OpenSSL 0.9.8g
" H7 ]* M6 @6 R/ XMySQL 5.0.51
; Q& O- {6 t1 e2 `+ w( _5 CPHP 5.2.5 & PHP 4.4.6
9 |0 X4 p8 s, ?! n: W5 D+ BphpMyAdmin 2.11.3
' _! f) N/ G" J9 I+ g5 n. _FileZilla FTP Server 0.9.24 ' H. M2 W. }5 f o
Mercury Mail Transport System v4.52 ! @* s9 e" l& k6 b
6 m: H/ T: k+ U# k* H
安装完毕后,输入下面的命令就可以启动XAMPP了: " m F. M( j$ t: W4 T
1 _0 @8 d; c8 t& `* S b/opt/lampp/lampp start
4 U% j h8 `; |1 m$ _7 Z. H e3 C
9 w! S2 a, o% M" {这时你会看到如下信息:
B* b' V! r3 C( l. b0 ?
# |! H) O- {% k3 UStarting XAMPP for Linux 1.7.1… 6 B& b6 V$ X7 a8 b. p+ \4 p3 I- f
" `6 }7 o0 o7 j7 F
XAMPP: Starting Apache with SSL (and PHP5)… ( l2 @" m/ c* z1 @
2 n+ B/ _: i$ z/ _
XAMPP: Starting MySQL… ' M6 x( H- [! K* L/ {- e' S! ?
* B a, Q" G) j+ lXAMPP: Starting ProFTPD…
- T1 c" x0 S l# m8 n1 E/ e1 u' ]8 m2 ]" K* P; m
XAMPP for Linux started.
, I% W/ r6 v# R6 _+ a& q. J* k% H0 ^' t, m1 }4 P3 z
其他启动参数如下: & L. y* @6 A; W( T( T% J1 A
3 H* Y# C- y' \3 l- o7 P
restart 重启XAMPP ' M2 O9 P1 B3 [, D; h0 C: S
7 K) A6 n7 Q# i+ b
startapache 只启动Apache
, q6 @+ ~# ]8 S* J9 V# B k. h
$ w$ ~1 z6 g. v- A& q" [/ z5 Ystartssl 启动Apache 的SSL 支持 . a5 }7 |2 c0 m+ |% @7 R
2 D4 ]2 c; C( P; q/ `startmysql 启动MySQL : Y9 a; o" |2 S
3 F5 O/ o) C# J/ ]- F% w" astartftp 启动ProFTPD * u& j9 m: Z3 g& ?
: Y Y0 [9 Z& l3 h! G4 K$ a1 ?stopapache 停止Apache. , B! b. F A. d; X( d# b
1 S0 ]: E) X; ?: }% o
stopssl 停止Apache 的SSL 支持 : C+ Y S' L& x
9 n& M2 h# U- \( X3 ], x9 e) ]" M% jstopmysql 停止 MySQL数据库 ( k( b) F* J B4 J" N
% W$ X8 o/ f, v' j `- s, xstopftp 停止ProFTPD
) s& k" ]+ r9 e" o, N
# K1 D" r6 d. A0 Q% [1 y% k
/ S3 r5 w( A9 |, T) Z1 [& a" _*************************************************** + M7 W- m9 V' `( P1 ^1 o
( _7 S4 G$ c& \& z$ s6 @: E
. o+ S1 B7 ?( i/ `8 e
朋友问到了论坛中传2.7M的文件传不上去的问题。 , G! J2 y f! O/ O+ C4 R# E
. M d: f2 o7 B# {' Z! v/ _虽然论坛管理端设置远大于这个限制,但还是上传不成功。 # {5 w- L: t& S$ ?
/ t: Q" n; ^6 C% k其实还需要结束Apache进行修改来达到突破上传限制的影响,php.ini中共有三处修改: 6 d- m5 c( K/ d# F" t7 U% j
! w; y( d8 L6 f1 { R: J, p
1、执行时间限制的延长或取消: , A9 M% u' u8 s0 c5 B4 U
max_execution_time 默认是30秒.改为 max_execution_time = 0 (0表示没有限制)或更大点的数字; ; g+ {5 K; o8 S" s$ @
5 e' K7 y! O* q( [$ v
另一种方法是可以在php程序中加入set_time_limit();
; @7 G! X; H x来设定页面最久执行时间. 3 W8 j/ I$ P8 t) K
set_time_limit(0);//0表示没有限制
\/ k, n4 d4 o. e8 W% P
% I4 A3 m1 d# F) N+ p2、查找 post_max_size = 2M (默认为2M)改为想要的大小,如:post_max_size = 70M
$ Y3 e% D; \& o2 G0 [7 M. ]1 U2 F& T7 D: S7 q1 Y0 N
通常我们只做了这一步,以为就可以解决问题了。其实还需要看下面一步。 . c( r$ w9 Z. u( L1 ]4 i& E0 j
/ K1 ^5 L* {7 U: Q4 \4 H2 W
3、upload_max_filesize 表示所上传的文件的最大值。 ' @- B( x; _0 L7 O0 ]
查找upload_max_filesize,默认为8M改为 ' P! z4 R& Q0 X9 f5 v3 U8 M& }- g8 P
upload_max_filesize = 70M
! p/ ^( v6 B* [; k' C
, M# x! n2 z* }需要注意的时,通常我们把post_max_size 大于 upload_max_filesize 的设置为好。 6 T) D: x3 E* X3 ~# g3 {
9 I! j5 r: J, b6 |, d4 ] G' Q
+ [0 H8 x5 Z, \& ^0 ?, x7 M1 _9 D) n* O+ L& {% R
1 N1 {" q# D1 w6 G% y0 [5 w; _! @$ f
% ~' q6 l+ T9 R# @/ g
% q/ Z! w1 a% i' m' w& O
7 \, S9 V, j; ]& Q1 M, _3 j5 ~解决Apache2+PHP上传文件大小限制的问题
& T& V' W; P8 [5 O) X$ K0 @/ B% u: x7 @' D z
开始的时候知道要改php.ini,基本是改这几项: 2 K z4 ~0 I, h0 i" g
" {" [- m# S3 u4 x4 s' Z( mmax_execution_time = 30 / B q7 @: Y+ A* L0 w
max_input_time = 60 1 x6 g9 I5 H: }. a
memory_limit = 8M ) g/ T4 X5 l$ }, g
upload_max_filesize=8m * b! b; e& C; i6 o7 C
" ^# U, I6 t' g$ Z* {/ M
但改好后发现上传的文件还是不能超过512k,否则页面就出错,非常的郁闷。无论如何调大上面几项的参数都没有作用,然后又检查了httpd.conf文件,从头看了一遍还是没有发现问题。在退出conf目录的时候,偶然发现有conf.d目录,ls了一下竟看到有个php.conf。呵呵,vi php.conf发现内容如下:
& q5 @5 O% P. Y) i4 U+ {% f) ~8 e3 B$ K2 d5 s" Q5 y# k
# ' }4 F% f2 p5 o8 K }0 g
# PHP is an HTML-embedded scripting language which attempts to make it ( V [7 L& q" e- o9 M, w7 n
# easy for developers to write dynamically generated webpages.
+ U4 Z* Y% R. e. b. L#
2 X- k- y( O. S( k" Q$ S# A7 Z6 v3 V+ w! m8 P
LoadModule php4_module modules/libphp4.so
5 Z; A/ `7 x5 C; p/ R
3 V/ [- `: n- J) e( iAddType application/x-httpd-php php .php3 ; I1 k+ F j5 ?, ~0 f% J7 j1 J, {
8 x9 x1 ^" R. a#
# w4 f6 Z# m& f# Cause the PHP interpreter handle files with a .php extension. ' I7 a$ {0 O8 `* G( C% U; ^
# 8 ~7 ]( _7 J- m9 z1 J% _7 Z
1 m W" z8 b" H/ x5 nSetOutputFilter PHP & ~& N% ^. _& ?5 z y3 @
SetInputFilter PHP
. p, b8 O1 @$ J8 Z1 M4 |8 U9 n% E8 wLimitRequestBody 524288
0 j V5 n! J/ c& i% d& Y- h3 S
9 h9 i% d0 C" w7 Q# P" Q5 U; O1 F3 m3 ^' t7 f3 }
#
' J! E( E1 ^! O6 p! Y( }7 z# Add index.php to the list of files that will be served as directory / E5 ?0 i- Y* Q( N6 K% e1 M
# indexes.
4 k* w" v' P7 n5 I. g$ v' c# 7 x) v; d, M% p( K' b
DirectoryIndex index.php
& Z: \2 N$ e5 ]+ C+ W3 T# s. x( {4 N9 u! d4 r9 X
6 }4 V% e8 Z0 S7 b! r4 v: l5 K看到那个524288吗,换算下就是512k。把它改成52428800,reload apache。经测试,可以上传几十兆的文件,问题解决。看来我对apache+php的配置了解还是不够全面,以后还要多多学习!
) ]9 {) Q' F( w' s" n5 h! Y& ?( k% f& D
" s# M9 D/ T2 Z6 g0 I& Shttpd [-D name] [-d directory] [-f file] [-C "directive] [-c directive] [-v] [-V] [-h] [-i] [-L] [-s] [-t] [-T] 8 ]9 q. ?, _ P0 \+ c
/etc/rc.d/init.d/http 8 f0 H- x, W& K/ T) D* u: ? {
1 H. s! c( X" e/ j& C* y在apache的目录bin下,
! h3 v1 h) r. S5 ], m运行:./apachectl start
/ X5 H) j9 V. u& O) ]- e: C( V停止:./apachectl stop 3 P) f% W$ f# N# p' D) E
重起:./apachectl resart ( D9 i/ Y4 u/ u: w" i' O
5 p! m2 r J8 t; M. ^8 W9 f
/ V" I' U- |0 H9 h& M% R+ Ihttpd start 9 m5 L, F3 ]) g7 @; e
ps -aux 能看到几个httpd 的进程! ; ~; O* K# Z6 M" X3 {( o$ r( O
6 L+ s$ M: L; Q G6 i5 r, ?
7 _3 j: }# V2 w( H
1 g0 m9 s& I5 h, \2 G3 S# e" D- b3 N( E- b! x2 X+ q. @3 M
2 N2 O0 i: z' I) {1 K********************************************** ! w) {+ u& g. Z; J4 @# H
) p3 q1 T5 L' n5 c! H1 O# s
針對想讓 PHP 能夠處理大檔案, ex, 超過 100MB....
4 B2 A8 Z: o' ~2 i分享一下我的 php 設定經驗, 以下是我的 Software Configuration, # U7 A4 s1 ]5 l. Z4 _& e8 ^
6 T6 q/ n7 [4 y$ xOS: Red Hat Enterprise Linux AS 4.4 Compatible
* m4 P9 }" ?2 w9 w( l B/ FPHP: 4.3.9 * s* W3 Z# v0 c' T2 O
MYSQL: 4.1.20 : c7 q n7 ?6 a9 f0 j. k$ v) i
9 k( p. D: E$ {* t: ?$ W% ~- q; D
用 root 身分編輯 /etc/php.ini , 修改以下資訊
+ b7 A' l1 w3 A J/ f
2 T2 x' H. b; E6 Y' t& h1 B* dmax_execution_time = 300 ; 每個 script 執行時間上限, 單位是秒.
' R1 S/ X1 @+ q8 Y# d! [- P. Vmax_input_time = 300 ; 每個 script 處理輸入資料可用時間上限, 單位是秒. 9 W1 a6 }4 f' J$ K1 l/ }
memory_limit = 999M ; 每個執行中的 script 最多可使用的系統記憶體資源.
a- d8 I) k7 y) Xpost_max_size = 800M ; PHP 能夠接受發表文章的容量上限.
! J8 z, q# o* L+ Yfile_uploads = On ; 這個不用改, 安裝完就是 On 了, 請確定你的也是 On.
6 t( v5 o2 z( `; a8 }- zupload_max_filesize = 800M ; 允許上傳檔案的最大容量. . s: m# ?" l7 F1 j
default_socket_timeout = 300; Socket 無回應斷線時間上限. % o% Q( `. S8 w) C0 S
mysql.connect_timeout = -1 ; MYSQL 無回應斷線時間上限, -1 代表永遠等下去. ) B9 S' ^+ f6 d! ]
$ p: M5 B# a. U9 ?$ ^0 _! q s9 ^+ z
如果你打算讓你的系統能夠上傳更大的檔案, 可以自行增加某些數值. 9 ~; K: ?' g% {5 v/ U
但設定過大的值, 不保證系統的穩定性.
2 q7 P, b: K! ]# Y" ops: 歹勢, 沒時間看 code 測試... 6 Z8 t9 o. @8 R
7 g6 k& i! D2 j j
有些數值有相互關係, 例如, memory_limit 必須大於 upload_max_filesize 與 post_max_size. 3 e" Y+ j5 H/ L( ~# Y
4 j0 k: n- H+ x5 N# P
|
|