# xampp
# linux环境安装xampp
- 下载:从官网下载对应的版本的xampp(不一定非得是wget,也可以是其他):
wget https://www.apachefriends.org/xampp-files/7.2.1/xampp-win32-7.2.1-0-VC15-installer.exe
- 安装:
// 更改权限
chmod 755 xampp-linux-*-installer.run
// 开始安装
sudo ./xampp-linux-*-installer.run
- 常用操作
// 启动
sudo /opt/lampp/lampp start
// 停止
sudo /opt/lampp/lampp stop
// 重启
sudo /opt/lampp/lampp restart
- 其他配置与问题 官网常见问题
# xampp升级
symfony4.1版本后,明确说明PHP需要7.1以上,而我的PHP版本为7.0,只能升级版本
以前的安装方式是按照xampp官网的教程使用安装包安装,但是找遍了百度,谷歌,官网,stackoverflow,也没有找到一个明确的教程来说明如何直接升级版本,只能由自己瞎捣鼓了
未以防万一,我首先将项目文件,和httpd.conf
,httpd-vhosts.conf
二个文件复制到了其他地方,然后在lampp目录下,我看到了一个uninstall的东西,执行此文件./uninstall
,一顿删除后,发现还留下了几个文件,
进入htdocs目录发现项目都还在,这个不错。
wget下载最新的xampp安装包(wget在centos7需要自己安装,不一定非得wget),安装上述官网教程安装后,成功安装,PHP -v
查看版本,可以看出PHP升级到了7.2
检测项目和网站能否打开。启动apache,mysql后随便打开了一个网站,
看这情况,apache是没问题的,应该是数据库连接不对,登录mysql查看,初始的mysql是没密码的,看mysql数据库下的user表,会发现只有五个默认的用户,自行配置增加用户给予权限后,网站恢复.因此可以考虑在卸载前备份一份用户表,否则可能会出现一些不可预料的问题,如在重新安装后,部分数据表可能会出现损坏的情况,如:
Table 'piplin.providers' doesn't exist in engine
可以通过show tables
看到,但无法使用
最后就是一些常规配置了,如隐藏版本号等等,按照以前的流程就好
# 开启Gzip压缩
- 开启Gzip压缩会加快速度,但会消耗额外的CPU资源。
# 使用方法
进入httpd.conf
//开启这两个,mod_deflate默认不启用
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
//在末尾加上
<IfModule deflate_module>
SetOutputFilter DEFLATE
//不压缩图片
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
//压缩html,纯文本,xml和css
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
</IfModule>
- 或者在.htaccess中
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/*
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript
application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
# 按天存储日志
# 使用方法
进入http.conf
ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
CustomLog "|bin/rotatelogs.exe -l logs/access.%A.log 15M"
# 隐藏版本号
在生产环境会比较注重安全,会有些操作,其中之一就是因此版本号
首先隐藏apache版本号,查看httpd.conf有没有引入httpd-default.conf文件
- 引入了则修改httpd-default.conf,未引入则在httpd.conf下
ServerTokens Prod ServerSignature Off
隐藏PHP版本号
- 修改php.ini文件
expose_php Off
# xampp重启失败
- 在重启xampp时,apace无法关闭
[root@localhost etc]# /opt/lampp/lampp restartapache
XAMPP: Stopping Apache...fail.
apachectl returned 1.
XAMPP: Starting Apache...already running.
解决办法
- 删除如下文件
$XAMPP_ROOT/logs/httpd.pid $XAMPP_ROOT/var/proftpd.pid
- 再次重启出现如下问题(以下问题为个人出现的问题,上一步解决后如果提示没有日志文件什么的,手动建一个即可)
[root@localhost var]# /opt/lampp/lampp startapache XAMPP: Starting Apache...fail. XAMPP: Another web server is already running.
- 说明已关闭,但是启动失败,端口被占用,杀掉占用进程
[root@localhost var]# /opt/lampp/lampp restart Restarting XAMPP for Linux 7.0.13-0... XAMPP: Stopping Apache...not running. XAMPP: Stopping MySQL...ok. XAMPP: Stopping ProFTPD...not running. XAMPP: Starting Apache...fail. XAMPP: Another web server is already running. XAMPP: Starting MySQL...ok. XAMPP: Starting ProFTPD...fail. XAMPP: Another FTP daemon is already running.
- apche与proftpd都失败,先解决apache,默认端口80
lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 10422 root 409u IPv6 75695834 0t0 TCP localhost.localdomain:36270->202.121.199.235:http (ESTABLISHED)
- 杀掉进程,再次重启
[root@localhost var]# /opt/lampp/lampp restart Restarting XAMPP for Linux 7.0.13-0... XAMPP: Stopping Apache...not running. XAMPP: Stopping MySQL...ok. XAMPP: Stopping ProFTPD...not running. XAMPP: Starting Apache...fail. XAMPP: Starting diagnose... XAMPP: Sorry, I've no idea what's going wrong. XAMPP: Please contact our forum http://www.apachefriends.org/f/ Last 10 lines of "/opt/lampp/logs/error_log": tail: 无法打开"/opt/lampp/logs/error.log" 读取数据: 没有那个文件或目录 XAMPP: Starting MySQL...ok. XAMPP: Starting ProFTPD...fail. XAMPP: Another FTP daemon is already running.
- 相应目录创建error.log文件,重启后apache启动成功,但proftpd还是失败
[root@localhost logs]# /opt/lampp/lampp restart Restarting XAMPP for Linux 7.0.13-0... XAMPP: Stopping Apache...ok. XAMPP: Stopping MySQL...ok. XAMPP: Stopping ProFTPD...not running. XAMPP: Starting Apache...ok. XAMPP: Starting MySQL...ok. XAMPP: Starting ProFTPD...fail. XAMPP: Another FTP daemon is already running. [root@localhost logs]# ps -aux |grep ftp root 21483 0.0 0.0 54800 1684 ? Ss 08:46 0:00 /usr/libexec/openssh/sftp-server root 21538 0.0 0.0 54800 1496 ? Ss 08:46 0:00 /usr/libexec/openssh/sftp-server root 24356 0.0 0.0 54800 2104 ? Ss 09:54 0:00 /usr/libexec/openssh/sftp-server root 24397 0.0 0.0 54800 1908 ? Ss 09:55 0:00 /usr/libexec/openssh/sftp-server root 24677 0.0 0.0 54800 2104 ? Ss 10:01 0:00 /usr/libexec/openssh/sftp-server daemon 25162 0.0 0.0 45032 1980 ? Ss 10:06 0:00 proftpd: (accepting connections) root 28034 0.0 0.0 114712 976 pts/2 S+ 10:23 0:00 grep --color=auto ftp
- kill -9 25162杀掉进程,重启xampp
[root@localhost logs]# /opt/lampp/lampp restart Restarting XAMPP for Linux 7.0.13-0... XAMPP: Stopping Apache...not running. XAMPP: Stopping MySQL...ok. XAMPP: Stopping ProFTPD...ok. XAMPP: Starting Apache...ok. XAMPP: Starting MySQL...ok. XAMPP: Starting ProFTPD...ok.
- 成功
← bbr加速 redis安装与使用 →