PHP - 文章列表
-
PHP不适合编写大型应用的九大原因分析
php确实十分容易编写。但是PHP也有一些十分严重的缺陷。下面我会给出我的理由,为什么PHP不适合于比小型业余网站更大的网站。 1、对递归的不良支持 递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。有一个使用递归的例子是快速排序(quicksort)。不幸的是,PHP并不擅长递归。Zeev,一个PHP开发人员,说道:“PHP 4.0(Zend)对密集数据使用了栈方式,而不是使用堆方式。也就是说它能容忍的递归函数的数量限制和其他语言比起来明显少。”见bug 1901。这是
-
php程序员常犯的几个mysql数据库错误
数据库是Web大多数应用开发的基础。如果你是用PHP,那么大多数据库用的是MYSQL也是LAMP架构的重要部分。PHP看起来很简单,一个初学者也可以几个小时内就能开始写函数了。但是建立一个稳定、可靠的数据库确需要时间和经验。下面就是一些这样的经验,不仅仅是MYSQL,其他数据库也一样可以参考。1.使用MyISAM而不是InnoDBMySQL有很多的数据库引擎,但一般也就用MyISAM和InnoDB。MyISAM 是默认使用的。但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的。MyISAM不支持外键的约束,这是保证数据
-
Apache禁止浏览文件夹下内容 没有默认首页时不显示目录列表
vi /etc/apache/httpd.conf进行编辑httpd.conf文件。找到Options Indexes FollowSymLinks在Indexes前面加上"-"符号!如果加"+"代表允许目录浏览,"-"代表禁止目录浏览。找到<Directory "/var/www/html/">换成<Directory "/home/httpd">然后在找到 Options Indexes FollowSymLinks换成Opti
-
php升级后速度变慢1秒的原因及解决方法
在升级php版本至5.3或5.4后,发现php打开网页比之前慢了有一秒左右,出现这种情况的程序有共同的特点,那么便是要用到数据库,很多PHP页面实际上都是数据库驱动的,要连接数据库才能显示出来,而响应时间过长的原因便在于PHP 5.3连接数据库的方式有所改变。目前我们配置数据库信息时都类似这样的“$dbhost=‘localhost’ ”;这本身是没有问题的,只是PHP 5.3会考虑是IPv4还是IPv6,面对localhost会犹豫,因此出现响应时间过长的情况。如果你查看过服务器处理PHP的时间,你会发现处理PHP的时间很短,等待处理前的时间很长。解决方法1:把
-
php调用imagecreate()时提示Call to undefined function: imagecreate()
在php中调用imagecreate()时,提示Call to undefined function: imagecreate(),出现这种情况,是因为没启用gd库GD库的配置 1、windows下 修改php.ini文件,去掉extension=php_gd2.dll 前面的分号。 修改extension_dir
-
去掉php中提示 Notice Undefined index:xxx 的方法
我们经常接收表单POST过来的数据时报Undefined index错误,如下: $act=$_POST['action'];用以上代码总是提示Notice: Undefined index: act in D:testpost.php on line 20另外,有时还会出现Notice: Undefined variable: Submit ...... 等一些这样的提示 出现上面这些是 PHP 的
-
[warn] _default_ VirtualHost overlap on port 80, the first has precedence
解决[warn] _default_ VirtualHost overlap on port 80 , the first has precedence问题 在apache2的httpd.conf里使用2个VirtualHost的时候 ,重启服务器却出现了下面的警告提示:[warn] _default_ VirtualHost overlap on port 80 ,&nb
-
Warning: session_start() [function.session-start]: open(C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/1.. 解决方法
Warning: session_start() [function.session-start]: open(C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/1sess_d3591bae73b7b5c9b2342323fewewfr234, O_RDWR) failed: No such file or directory (2) in ...运行php网页后报上面这个错误,原因是php找不到存放临时文件的文件夹。解决方法是确认 C
-
Fatal error: Call to undefined function sqlite_open() 让php支持sqlite数据库的方法
若没有正常加载sqlite模块,php程序就可能报下面的这个错误:Fatal error: Call to undefined function sqlite_open() in xxx.php on line XX打开php.ini 找到 extension=php_sqlite.dll 这一行,将前面的分号去掉。如果在windows下,还需要启用extension=php_pdo.dllextension=php_pdo_sqlite.dll这两行。将
-
php使用substr出现乱码的解决方法
在使用PHP substr截取中文字符串的时候,会出现乱码的情况,原因是substr函数在截取字符时是按字节来截取的,中文字符在GB2312编码时为2个字节,utf-8编码时为3个字节,所以截取指定长度的字符串时如果截断了汉字,那么返回的结果显示出来便会出现乱码。解决方法是使用mb_substr函数如 mb _substr("aaaaa",0,3,"utf-8")另外,strpos,strlen这几个函数也是如此,可以使用mb_strpos,mb_strlen来对中文字符串进行操作