各种问题解决方案总结【记录】(持续更新)
来源:互联网 发布:手机游戏优化器在哪 编辑:程序博客网 时间:2024/05/22 04:29
apache虚拟主机的配置方法和示例
1.首先修改C:/WINDOWS\system32\drivers\etc目录下的 hosts 文件,比如原来用【localhost】访问【htdocs】文件夹里的项目,现在想用www.test.com来访问本地项目,操作如下:
127.0.0.1 www.test.com
添加成功后即可用 www.test.com访问
2.打开xampp\apache\conf\httpd.conf文件,搜索 “Include conf/extra/httpd-vhosts.conf”,确保前面没有 # 注释符,也就是确保引入了 vhosts 虚拟主机配置文件。
3、添加VirtualHost以支持多个站点,比如想把站点放在 C://php下,用www.test.com访问
在e:\xampp\apache\conf\extra\httpd-vhosts.conf文件中添加如下内容:
复制代码 代码如下:
NameVirtualHost *:80<VirtualHost *:80> ServerName www.test.com DocumentRoot "C:/php" <Directory "C:/php"> Options FollowSymLinks IncludesNOEXEC Indexes DirectoryIndex index.html index.htm index.php AllowOverride all Order Deny,Allow Allow from all Require all granted </Directory></VirtualHost><VirtualHost *:80> ServerName localhost DocumentRoot "E:/xampp/htdocs" <Directory "E:/xampp/htdocs"> Options FollowSymLinks IncludesNOEXEC Indexes DirectoryIndex index.html index.htm index.php AllowOverride all Order Deny,Allow Allow from all Require all granted </Directory></VirtualHost>
nginx虚拟主机的配置方法和示例
location 定义文件类型,
.php$ 代表所有以 php 作为文件后缀的文件类型.
root 定义 php 文件存放的路径, 当前以 “/www” 作为默认存放位置.
fastcgi_index 定义 php 文件类型中的默认索引页
fastcgi_param SCRIPT_FILENAME 定义了页面请求参数, 如客户端需要访问 /t1.php 则会自动读取 /www/t1.php文件, 如客户端访问 / 则自动读取 /www/index.php 文件
include 定义fastcgi 配置信息将会被保存到 /usr/local/nginx/conf/fastcgi_params 文件中
nginx最常用的方法是利用 tcp/ip 协议连接 phpfastcgi 接口, 因此要连接php必须先启动fastcgi程序.
找到nginx的配置文件【nginx.conf】
下边加入:include vhosts;
同级路径下创建vhosts文件,编辑加入以下内容
server{ listen 80; server_name www.test.com; root /www; if ($uri ~ ^/MP_verify_(.+)\.txt$) { return 200 $1; } location ~* \.(eot|ttf|woff|svg|otf)$ { add_header Access-Control-Allow-Origin 'http://www.test.com'; add_header Access-Control-Allow-Methods 'GET, POST'; } location / { index index.html index.htm index.php; #autoindex on; } location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } #所有静态文件由nginx直接读取不经过tomcat或resin location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ { expires 15d; } location ~ .*.(js|css)?$ { expires 1h; }}kill -HUP `cat /usr/local/nginx/logs/nginx.pid` #重启nginx
对于无法捕获的POST参数,如何抓去
$POST
$_POST是我们最常用的获取POST数据的方式,它是以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换,识别的数据类型是PHP默认识别的数据类型 application/x-www.form-urlencoded
无法解析如text/xml,application/json等非 application/x-www.form-urlencoded 数据类型的内容
HTTP_RAW_POST_DATA
前面说过PHP默认识别的数据类型是application/x-www.form-urlencoded,用Content-Type=application/json 类型,提交的POST数据这时候
1.需要设置 php.ini 中的 always_populate_raw_post_data 值为 On 才会生效2.当$_POST 与 php://input可以取到值时 $HTTP_RAW_POST_DATA 为空3.不能用于 enctype="multipart/form-data"4.PHP7中已经移除了这个全局变量,用 php://input 替代
php://input
php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据,允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小。
不需要任何特殊的 php.ini 设置不能用于 enctype="multipart/form-data"
小结
上面了介绍了一下我们目前使用PHP获取POST数据的三种方式,当我们以后使用PHP来获取POST数据的时候用$_POST或者php://input就好了。虽然HTTP_RAW_POST_DATA可以达到和php://input一样的目的,但是会给内存带来较大的压力,官方也注意到了这个问题,所以在PHP7就果断移除了这个不好用的东东。。。
WAMP不能正常启动:
WAMP不能启动, 一直处于红色图标(正常启动为绿色吧) 考虑是端口的问题,我找到wamp文件夹中的wamp\bin\apache\apache2.2.22\conf路径下的httpd.conf文件,将: #Listen 12.34.56.78:80 Listen 80 把Listen 80改成Listen 8088(因为tomcat默认是8080,不想以后冲突),然后再启动wampapache发现可以了,wamp显示为绿色,OK,搞定!
解决启用本地软件xampp端口被占用6种方法
我们在学做网站教程中讲到,做网站可以先使用本地环境来模拟网站空间制作网站,这样很方便的修改网站各方面内容。但很多学建站学员都会遇到启用本地环境软件时,会提示端口被占用,无法启动成功。那么应该如何解决本地软件xampp端口被占用的问题,这里学做网站论坛提供了6种方法。 **第一种解决方法:** 检查自己的本地环境软件安装路径中是否有中文,如地址栏中的路径为:J:\常用图标\常用网站,这就是包含了中文。解决方法:重新下载xampp软件安装到英文或是拼音的文件夹中(不要直接复制之前的文件。) **第二种解决方法:** 提示80端口被占用,80端口是网络访问端口,是本地环境默认的访问端口。我们在学习如何做网站时,用的最多的就是80端口,但很多学员的电脑里安装了某个软件,它已经占用了80端口,那么本地环境就无法再启用80端口了。 我们可以将本地环境的80端口改成8080端口。方法如下: 找到你的xampp安装的文件夹,进入apache文件夹,再进入conf文件夹,找到httpd.conf文件,用记事本打开。 在httpd.conf这个记事本中,点击编辑---查找,查找Listen 80,可以看到如下内容: #Listen 0.0.0.0:80 #Listen [::]:80 Listen 80 把上面的80改成8080,如下: #Listen 0.0.0.0:8080 #Listen [::]:8080 Listen 8080 然后打开xampp软件,就可以启用了。这个时候本地路径访问地址变成了http://127.0.0.1:8080/。 **第三种解决方法:** 用一个进程结束软件“加速人生”结束所有进行,这样电脑中占用80端口的软件也会被停掉,然后直接开启XAMPP服务即可。软件下载地址:http://www.updrv.com/fast/ **第四种解决方法:** 使用软件IceSword来停止端口。(软件下载地址:http://u.115.com/file/f42e2e8a40) 打开软件,点击端口,在本地地址列表下找到***.***.***.***:80形式的地址,然后查看它所属的进程ID 点击进程,根据第一步找的进程ID,找到进程,然后结束掉,这样就可以把占用80端口的程序关掉。 **第五种解决方法:** win7系统用户无法使用IceSword软件,可以使用和IceSword一样功能的能在win7下运行的软件: XueTr(软件下载地址:http://u.115.com/file/f4ce8a8570) 使用方法: 打开软件,点击网络选项,在本地地址列表下找到***.***.***.***:80形式的地址,然后查看它所属的进程ID 点击进程,根据第一步找的进程ID,找到进程,然后结束掉,这样就可以把占用80端口的程序关掉。 **第六种解决方法(推荐使用):** 打开“运行”,windows系统打开方式如下图:启用本地软件xampp端口被占用6种方法1 在弹出的窗口中输入cmd,并确认: 启用本地软件xampp端口被占用6种方法2 在打开的命令提示符中输入:netstat -ano 命令,然后回车:启用本地软件xampp端口被占用6种方法3 打开任务管理器(打开方式:按键Ctrl+ALT+Delete),打开服务,找到PID并选择软件结束进程:启用本地软件xampp端口被占用6种方法4 重启XAMPP软件。/li>
编码格式总结
● 中国人民通过对 ASCII 编码的中文扩充改造,产生了 GB2312 编码,可以表示6000多个常用汉字。
● 汉字实在是太多了,包括繁体和各种字符,于是产生了 GBK 编码,它包括了 GB2312 中的编码,同时扩充了很多。 ● 中国是个多民族国家,各个民族几乎都有自己独立的语言系统,为了表示那些字符,继续把 GBK 编码扩充为 GB18030 编码。 ● 每个国家都像中国一样,把自己的语言编码,于是出现了各种各样的编码,如果你不安装相应的编码,就无法解释相应编码想表达的内容。 ● 终于,有个叫 ISO 的组织看不下去了。他们一起创造了一种编码 UNICODE ,这种编码非常大,大到可以容纳世界上任何一个文字和标志。 所以只要电脑上有 UNICODE 这种编码系统,无论是全球哪种文字,只需要保存文件的时候,保存成 UNICODE 编码就可以被其他电脑正常解释。 ● UNICODE 在网络传输中,出现了两个标准 UTF-8 和 UTF-16,分别每次传输 8个位和 16个位。 于是就会有人产生疑问,UTF-8 既然能保存那么多文字、符号,为什么国内还有这么多使用 GBK 等编码的人?因为 UTF-8 等编码体积比较大, 占电脑空间比较多,如果面向的使用人群绝大部分都是中国人,用 GBK 等编码也可以。但是目前的电脑来看,硬盘都是白菜价, 电脑性能也已经足够无视这点性能的消耗了。所以推荐所有的网页使用统一编码:UTF-8。
- 各种问题解决方案总结【记录】(持续更新)
- 各种问题解决方案总结【记录】(持续更新)
- OSX各种经验总结记录(持续更新)
- C语言小问题解决方案(持续更新)
- 各种一句话(持续更新)
- Java 各种概念总结--持续更新中
- JavaWeb项目 积累问题解决方案,持续更新中
- 【持续更新】python与centos7使用过程中的问题解决方案
- 问题记录(持续更新)
- 记录(持续更新中)
- 问题记录(持续更新)
- 问题记录(持续更新)
- 安卓知识点及问题处理方案记录,持续更新~
- Python·Jupyter Notebook各种使用方法记录·持续更新
- Python·Jupyter Notebook各种使用方法记录·持续更新
- Python·Jupyter Notebook各种使用方法记录·持续更新
- Python·Jupyter Notebook各种使用方法记录·持续更新
- Python·Jupyter Notebook各种使用方法记录·持续更新
- 循环队列
- Unity3d中调用webservice方法
- Protobuf简单使用及其抓包分析
- sd卡中扣扣截图的PNG图片都无法读取怎么办
- hdu 1520 Anniversary party(树形DP)
- 各种问题解决方案总结【记录】(持续更新)
- Oracle SQL性能优化
- Cygwin
- java 反射
- 简单的射击类Android游戏--《环形射击》
- Listview滑动时不加载数据,停下来时加载数据,让App更优
- Leetcode: House Robber
- 判定两个集合是否相同
- Makefile 中的常用函数