在新的主机上部署网站遇到的问题
来源:互联网 发布:汇通天下g7怎么样知乎 编辑:程序博客网 时间:2024/05/01 21:43
网站的开发进入到了后期的部署阶段,需要将之前编写的web项目部署到服务器上,初步实现应用。在此看似简单的过程中却遇到了许多新的问题。在此列举开来,是积累,也是提醒。
1. 页面加载十分缓慢(本身网页并不庞大)
通过检查network状态(F12),发现网页的请求过程中的大部分时间停留在其中两个文件上,如下图:
查看了项目内的某个的CSS文件发现如下代码:
@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,300italic,400italic,600italic);@import url(http://fonts.googleapis.com/css?family=Kaushan+Script);
意思是导入指定url地址处的css文件,也就是说在每次调用此文件时会在线的下载该文件。在此可见导入的为google的API,介于google在国内的悲惨处境,也就不难得知为何总卡在这里。
解决方法就是使用本地文件代替,尽量少的使用在线的资源。
2. 登录功能失效,页面无返回值,报告500错误
在login.php文件中使用ldap_connect通过AD域服务器验证登录。
$ldapconn = ldap_connect($host, $port) or die("Could not connect to $ldaphost");
尝试查看apache的日志文件,未发现有关php的错误信息。
尝试在该语句前后添加echo语句,结果是只有该语句之前的信息能正常返回,并出现了下列错误信息:
Fatal error: Call to undefined function: ldap_connect() in D:….
问题的原因是在新的主机上并未启用php_ldap模块,函数无法识别。解决方法:
- 需要修改配置文件php.ini,将extension中的php_ladp.dll的“;”去掉了。当然首先要保证本地的php文件夹中包含php_ladp.dll文件(路径:php/ext/php_ldap.dll),否则需要去下载相匹配的文件。配置完成后重启apache,查看phpinfo(),出现ldap模块则表示加载成功。
若问题仍未解决,继续下一步。 - 加载ldap扩展还依赖一个dll文件,那就是 libsasl.dll,如果你使用的是wampserver的话,系统加载的是apache目录的bin(php.ini也在这个目录里面的),那么需要从php目录里把这个文件复制到apache/bin里面然后重启 apache。
若问题仍未解决,继续下一步。 - (该方法是在网上查询到的,当时并没有解决我的问题。)查看php手册的LXXV. LDAP Functions介绍,看到还有两个依赖库libeay32.dll and ssleay32.dll需要放到环境变量path里,由于这两个文件在php目录下,而且安装php时path已包含该路径,所以不需要设置,反之,就要放到windows能找到的目录了,比如win2000,就要复制到system32文件夹下。
若问题仍未解决,。。。。 请联系我一起再努力。
3.Bootstrap datetimepicker插件突遇bug
Bootstrap datetimepicker是Bootstrap上的一个用于日期时间选择的一个精美的插件,之前使用的非常顺利,却不知为什么突然出现了Bug:插件自带的设置功能失效,即下面的代码没有按预定产生效果:
//datetimepicker部件的设置 $('.form_date').datetimepicker({ weekStart: 1, todayBtn: 1, autoclose: 1, todayHighlight: 1, startView: 2, minView: 2, forceParse: 0});
当时只是顺手拿来用,对插件的内部完全不了解,一时间也没有什么好的解决方法,只好逐一排查。
发现与插件提供的一个事件方法有关:
//该方法用于监听事件选择器,当日期改变时触发事件$("#starttime").datetimepicker().on('changeDate', function (ev) { ++startDateChange; if (startDateChange != 0 && endDateChange != 0){ showLeaveNoteTip(); }})$("#endtime").datetimepicker().on('changeDate', function (ev) { ++endDateChange; if (startDateChange != 0 && endDateChange != 0){ showLeaveNoteTip(); }})
若删去此代码,则设置代码生效。
最后找到了问题所在:
设置代码须在事件代码之前,否则就会出现这种问题。将js文件中的代码段顺序弄好,问题迎刃而解。
这个问题险些弄疯了我,调试了半天都不知道哪出了问题。只得用排除法逐一对照,消耗了大量的时间和精力,看来以后工具要慎用,用的时候多点细心和耐心。
- 在新的主机上部署网站遇到的问题
- 在部署有OGG的数据库主机上打数据库patch遇到的问题libclntsh.so.11.1 active
- 关于在部署jsp网站时遇到问题:MySql连接不上、Tomcat的闪退
- 在websphere上部署应用遇到的问题
- 在iis上部署django时遇到的问题
- [AWS] 记录在AWS上部署WordPress遇到的问题
- 初次在本地IIS上发布网站遇到的问题
- 部署测试网站遇到的问题总结
- 网站部署中遇到的问题
- 服务器部署网站遇到的问题
- 部署静态网站遇到的问题
- Windows上部署Jenkins遇到的问题
- 在没有安装有mvc3的主机上部署asp.net mvc3网站,需要包含的DLL文件
- 在没有安装有mvc3的主机上部署asp.net mvc3网站,需要包含的DLL文件
- IIS——服务器上部署网站及遇到的问题图解(二)
- 在IIS上部署网站的步骤
- 排查在 Azure 中创建新 Linux 虚拟机时遇到的 Resource Manager 部署问题
- 网站运行速度上遇到的问题
- 《编写高质量代码:改善C++程序的150个建议》读书笔记5(关于异常处理的部分)
- WEB程序目录配置有误出现错误
- 平均年龄
- TextInputLayout的使用
- SQL 基础--> 子查询
- 在新的主机上部署网站遇到的问题
- sap中Excel的模版上传和下载
- numpy.mean
- UVA 10689 Yet another Number Sequence(矩阵快速幂求Fib数列)
- How to Install GMP in Ubuntu
- 传智博客 js学习(二)
- 内存管理的基础
- numpy.load
- 算法 - 排序 - 选择排序