【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员

摘要:
回想一下,我以前使用这个开源程序进行过十几次备份。我以前经常遇到这个问题。我在这个开源程序的入口文件index.php的开头添加了一个中断,以确定这个程序的域名是否可以正常访问<在这种情况下,域名通常可以找到条目文件;我想知道是否找不到包含的文件。之前,我遭受了巨大的损失,因为我无法弄清楚require和include之间的区别。包含的文件中存在错误,因此我将其更改为包含;

===================问题情况描述===================

小弟一直在玩discuz论坛开源程序,这个论坛程序经常涉及到论坛搬家的问题。

今天我在本地Wamp环境下,用开源软件帝国备份王2010进行数据库备份数据,结果打开发现报错500!

这真是坑爹了,回想下以前自己使用这个开源程序进行备份也不下于十几次了,大部分都正常成功,

但也不乏出现这种情况的,小弟之前一般遇到这种问题,

都是直接忽略,换其他办法来进行备份,但是用惯了帝国备份王,换其他的方法备份数据,总感觉难受,可能是习惯了一键备份吧!

这次,小弟抱着程序员钻牛角尖的态度,想自己解决下这个问题。

首先,小弟在这个开源程序的入口文件index.php开头的地方加入了个中断来判断这个程序域名是否正常能访问

<?php
echo 213;die;
require('class/connect.php');
require('class/functions.php');
require LoadAdminTemp('eindex.php');
?>

 结果发现浏览器正常输出了中断,这样的话就是域名已经能正常找到入口文件了。

接下来,小弟又想是不是包含的文件找不到呢?

之前小弟因为搞不清require和include的区别曾经吃过一个大亏,其实差别大家都知道。

require包含文件的时候,如果找不到文件,直接就抛出错误,中断程序运行;

include包含文件的时候,如果找不到文件,notice提醒,不会中断程序运行;

因此我就在第三行加了个中断,发现是在require('class/functions.php');包含文件的地方出错,

我把换成include包含,notice提醒,那就是说这个文件包含存在问题,

后面,小弟研究很久,没发现问题所在,最后没办法求救于万能的度娘!

度娘告诉我们,可能是因为php.ini里面short_open_tag没有开启;

于是,小弟就在php.ini里面讲short_open_tag设置为On,开启了。。结果、、问题解决了~!

好吧,小弟就是个菜鸟,还是广大网民厉害!

小弟抱着被蛇咬过一次,下次见面定要斩他七寸的态度,搜了下这个原理!

原来,在我们php.ini有对php标志简写的识别!

啥时php标志简写呢?

就是咱们一般php文件都是<?php ?>包含的,我们有时候省略其中的php

改成<? ?>来包含,这个short_open_tag开启就是支持这样的简写,如果没开启,那就跟lz一样了@_@!

=================小弟感想=====================

作为php工作一年的小菜鸟,远不及各位看官大神技术牛叉,等级也差太多,可能就被您一刀就秒了!

但是小弟经此一役,谈下自己对php态度方面的感受!

1.首先,php菜鸟遇到问题,需要去自己解决,实在解决不了在求助于他人!

   为啥这么说呢?还记得小弟以前的数学老师告诉我们,遇到不会的题目,想自己独立思考,用自己的角度,

   自己的方法去寻找解题方法,实在解决不了,再和同学与老师求助!

 小弟对此的理解就是:当我们在面对问题的时候,先独立自己去解决有几大好处!一是培养自己不怕难题的习惯,

 二是学会如何去解决方法,三是当自己成功解决的时候,能因成就感增强自己的自信心和对此方面的兴趣~当然还有

 就是自己独立解决可以记忆更深刻了!~

2.其次,php菜鸟解决问题时,遇到不懂的方面,最好能自己去查阅相关信息,弄懂此知识点,也许这很花时间,也许这

 很零碎,但是咱编程想成为大牛,就是得慢慢积累经验,了解相关知识,所以碎片再小,咱也不能放过不是~

3.最后,就是咱如果通过他人帮助解决了问题,一定要知其然知其所以然,搞清原理,以后在遇到,就算转换了下,自己

 也能搞定!

这是小弟作为小菜鸟经此一役的小小感受,写出来受各位大牛批评指正,说的不对和不恰当的地方,望指正!

免责声明:文章转载自《【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【西瓜书】周志华《机器学习》学习笔记与习题探讨(一)合并本地Maven仓库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PHP-数据库操作

连接数据库 PHP操作数据库的方式有多种如 mysql 、mysqli、PDO,目前主要使用的是PDO处理。 PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。 下面是使用 PDO 连接数据库的操作,当连接失败时将抛出异常。 <?php header('Content-type:text/ht...

LXC-Linux Containers介绍

Linux Containers,Linux的容器,容器嘛,可以想象成一个大的装东西的罐子,罐子口很大,里面可以装很多同样形状,只不过大小不同的小罐子。专业的话,叫做基于容器的操作系统层面的虚拟化技术。 在这个大的容器里面,可以装很多小的容器,每一个容器都具备完整的运行环境,如特定的CPU、memory节点、可分配的cpu时间,IO时间,受限的内存大小(包...

shell中的条件判断

1.测试内容  2.测试方法  3.应用示例   在shell脚本中应用条件测试时,关键是“测试表达式”。在条件语句中测试时首先分清楚测试什么类型的信息:数字、字符串、还是一个文件,要么就是一个逻辑关系。当遇到不同的测试类型时自然就有不同的“测试属性”,理解这个测试属性是必须的。不然就不知道从何处下手。   判断的返回值:真、假。   当判断的条件是一...

build.gradle文件详解&amp;lt;三&amp;gt;

 参考:http://blog.csdn.net/baidu_31093133/article/details/51860637 build.gradle配置参数详解      //声明是Android程序      apply plugin: 'com.android.application'      android {   //程序在编译的时候...

C# Label显示多行文本及换行(WinForm/WebForm)

Windows中Label控件是把Label的AutoSize属性设为False,这样就可以拖放了。记录一下。WinForm 很多朋友都会在开发WinForm中遇到Label要显示的内容太长,但却不能换行的问题.这里我总结了几种方法,供大家参考:        第一种是把Label的AutoSize属性设为False,手动修改Label的大小.这样的好处是...

MySQL日志系统(redo log、undo log、binlog)

1.redo log(重做日志) InnoDB引擎特有的日志   当数据库对数据做修改的时候,需要把数据页从磁盘读到buffer pool中,然后在buffer pool中进行修改,那么这个时候buffer pool中的数据页就与磁盘上的数据页内容不一致,称buffer pool的数据页为dirty page 脏数据,如果这个时候发生非正常的DB服务重启...