Posts tagged php

The strangest problem always comes to the simplest answer

1
After installed Apache, MySQL, PHP on Windows 2008 R2 64-bit, I ‘m facing the strangest problem ever. My OS is 64-bit, but Apache, MySQL, PHP are all of 32-bit version. Though MySQL has official 64-bit version released, but I don’t see any benefit while Apache and PHP have not. When phpMyAdmin is installed and setup, [...]

WAMP crashes easily those days: Some notes on PHP configuration

2
I’ve upgrade my WAMP(Windows+Apache+MySQL+PHP) to lastest versions, but Apache crashes more often then it used to be due to incorrect configuring PHP. Now I’ve finially got a stably working development environment. And here is some notes: go-pear.bat dose not work. When initializing as usual using go-pear.bat command, I got an error message: 12phar "E:\HTTPD\php-5.3.0-Win32-VC9-x86\PEAR\go-pear.phar" does [...]

Installing PHP w/ IMAP support on Slackware

2
When installing PostfixAdmin, I found that I need to re-compile PHP to support IMAP, but later more problems came to me. Environment: Linux mail 2.6.27.7-smp #2 SMP Thu Nov 20 22:32:43 CST 2008 i686 Intel(R) Xeon(R) CPU E5405 @ 2.00GHz GenuineIntel GNU/Linux Q: PHP configure utility reports that there is no IMAP support on my system. A: According [...]

解决 propel-convert-xml-schema 把 null 默认值处理为字符串的问题

0
通过 propel-convert-xml-schema 把 xml schema 转化成 PHP 代码的时候,如果一个字符型字段不能为空且没有明确输入默认值,例如: 1<column name="username" type="VARCHAR" size="128" required="true" default=""/> 生成的 PHP 代码中该字段的默认值是 'null' 而不是 null,导致页面输入框的默认值不是空值,而是一个字符串的 null,很恼火。因为要么在页面中每个字段都对 'null' 做特殊处理,要么修改生成的 PHP 类文件,但是一旦重新执行 propel-convert-xml-schema 就会重新覆盖。 解决办法:修改 propel-generator/classes/propel/phing/PropelCreoleTransformTask.php 文件(对于 Symfony 来说,就是 symfony/vendor/propel-generator/classes/propel/phing/PropelCreoleTransformTask.php)。应用如下 patch: 1234567507,510c507 <       //$node->setAttribute("default", iconv($this->dbEncoding, 'utf-8', $defValue)); <       if(!empty($defValue)) { <         $node->setAttribute("default", [...]

MySQL 中用 GKB 来让 UTF-8 字段中的中文按照拼音排序

0
UTF-8 中的中文不是按照拼音排序的,因此对于 使用 UTF-8 编码集的字段就无法按照拼音进行排序,最简单的解决方法就是转成 GBK 编码。 实例代码: 12345SELECT *   FROM `test`   ORDER BY CONVERT( `test`.`name`     USING GBK )   LIMIT 0 , 30 数据库表结构: 12345CREATE TABLE IF NOT EXISTS `test` (   `id` INT(3) NOT NULL AUTO_INCREMENT,   `name` VARCHAR(10) COLLATE utf8_bin NOT NULL,   PRIMARY KEY (`id`) ) ENGINE=InnoDB [...]

PHP 基准测试

0
原文:The PHP Benchmark | Web Resources | WebAppers。 创建 PHPBench 的目的是让你看到每一个 PHP 代码段的运行速度不都是一样的。看到 PHPBench 生成的结果,你很可能会大吃一惊。这个网站还有一个目的就是让你自己去发现一些规律,然后在你自己的服务器环境里,使用示例代码重新运行这些测试来验证你的发现。而且你还可以看到一些 PHPBench 测到的有趣的结论: 很奇怪的结果表明,如果你执行sizeof(),那么是否预先计算循环的次数基本上没有什么区别。 事实上,each 和 print 执行的功能完全一样,因此都适用于同样的代码段。有一小点需要注意的就是,当你使用逗号分隔输出列表并且使用 echo 输出,则会运行的稍微快一丁点。 while 循环在 90% 的情况下确实能够快一点点。 需求: -演示: http://www.phpbench.com/协议: 自由协议

symfony 学习笔记 – 2 – 开始运行 symfony

1
安装 symfony 库 用 PEAR 方式安装 12345678910# 在 PEAR 频道列表里添加 symfony 频道 pear channel-discover pear.symfony-project.com # 查看该频道内可用的包 pear remote-list -c symfony # 安装 symfony 包 pear install symfony/symfony # 安装完毕后,查看版本,确认安装成功 symfony -V # 用下面这句来安装最新的 beta 版 install symfony/symfony-beta Symfony 库被安装在以下目录内: $php_dir/symfony/:核心库。 $data_dir/symfony/:symfony 的程序框架,默认的模块和配置信息,全球化数据等。 $doc_dir/symfony/:文档。 $test_dir/symfony/:单元测试。 注:最新版本的 PEAR 安装 symfony 会出现错误,解决方法参见在 Linux 下用 PEAR 安装 Symfony [...]

symfony 学习笔记 – 1 – 基础知识

0
symfont 的 MVC 实现 模型层 数据库抽象层 数据访问 视图层 视图 模板 布局 控制层 前端控制 动作 symfont 的工作流: 代码组织 代码组织实例: 根目录文件树结构 apps/:一个子目录对应一个应用,通常是 frontend 对应前台,backend对应后台。 frontend/ backend/ batch/:需要从命令行运行或者周期性运行的 PHP 批处理脚本。 cache/:配置信息的缓存,以及动作和和模板的缓存(如果你启用了的话)。用这个缓存机制来加速请求的响应速度,每个应用都有一个对应的目录,放置预处理过的 PHP 和 HTML 文件。 config/:每个项目的常规配置信息。 data/:项目里和数据相关的文件,比如数据库模式、SQL 文件,甚至是 SQLite 的数据库文件。 sql/ functional/ doc/:项目文档,包括你自己写的文档,和由 PHPDoc 生成的文档。 lib/:外部的类或者库。你可以在这里添加需要在项目级共享的代码。 model/:目录里是项目整体的对象模型。 log/:由 symfony 直接生成的日志文件。 plugins/:插件目录。 test/:单元测试和功能测试脚本。在创建项目的过程中,symfony 会自动创建一些测试的。 unit/ functional/ web/:Web 服务器的根目录,只有这个目录里面的文件才能被访问到。 css/ [...]

10 件(也许)你不了解 PHP 的事情

0
来源:10 things you (probably) didn’t know about PHP PHP 是我用过的语言中,最令人恼火的但同时也是最有趣的语言。我之所以说“令人恼火”主要是因为函数命名极其不一致。尽管我每天都要用到这些函数,我还是要想一下“究竟是 str_pos 还是 strpos?是 str_split 还是 strsplit?”。另一方面,有时候可以用一行简单的代码就能解决一个难题。 下面是一些很酷的特性,很可能你也没有注意到: 使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里。这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4 个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。 在验证 email 地址的时候使用 checkdnsrr() 函数验证域名是否存在。这个内置函数能够确认指定的域名能够解析成 IP 地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于 checkdnsrr(),用来验证 email 地址的合法性。对于那些认为自己的 email 地址是 “joeuser@wwwphp.net” 而不是 “joeuser@php.net” 的家伙们,这个方法可以很方便的抓住他们。 如果你使用的是 PHP 5 和 MySQL 4.1 或者更高的版本,考虑抛弃 mysql_* 系列函数改用改进版的 [...]

在 Linux 下用 PEAR 安装 Symfony 出现错误的解决方案

0
开发环境: Slackware Linux 12.0 Apache httpd-2.2.6 PHP 5.2.5 PEAR 1.6.2 根据官方文档,用 PEAR 安装 Symfony的命令如下: 12pear channel-discover pear.symfony-project.com pear install symfony/symfony 但是运行 channel-discover 的时候报错:Discovery of channel “pear.symfony-project.com” failed。 原因:PEAR 本身的 bug,不支持 channel 的 url 中包含 – 字符。 解决方法:用命令 pear upgrade -f PEAR-1.4.6 把 PEAR 降级到 1.4.6 版,然后正常安装,再用命令 pear upgrade-all 升级 PEAR。 或者应用 PEAR 的 Bug #6960 [...]
Go to Top