Submitted by gouki on 2011, December 7, 10:04 PM
Tags: phpstorm, refactor, php, ide
Software | 评论:5
| 阅读:53253
Submitted by gouki on 2011, September 30, 3:54 PM
这是一篇超级详细的配置mac os下面php+mysql+apache的文章。非常详细
我的大部分配置就是参考上面的内容的,比如,PHP不能连接数据库,就是改一下默认的php.ini中pdo_mysql.default_socket【因为现在都用PDO了嘛。不用mysql的连接库了】
因为我是用navicat的,所以对phpmyadmin那一块的配置就不太关心了。不过MCrypt的安装可以参考。
原文来自:在Mac OS X中配置Apache + PHP + MySQL
内容如下:
Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便。本文以Mac OS X 10.6.3为例。主要内容包括:
- 启动Apache
- 运行PHP
- 安装MySQL
- 使用phpMyAdmin
- 配置PHP的MCrypt扩展库
- 设置虚拟主机
启动Apache
有两种方法:
- 打开“系统设置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”
- 打开“终端(terminal)”,然后(注意:sudo需要的密码就是系统的root帐号密码)
- 运行“sudo apachectl start”,再输入帐号密码,这样Apache就运行了。
- 运行“sudo apachectl -v”,你会看到Mac OS X 10.6.3中的Apache版本号:
Server version: Apache/2.2.14 (Unix) Server built: Feb 11 2010 14:40:31
这样在浏览器中输入“http://localhost”,就可以看到出现一个内容为“It works!”的页面,它位于“/Library(资源库)/WebServer/Documents/”下,这是Apache的默认根目录。
注意:开启了Apache就是开启了“Web共享”,这时联网的用户就会通过“http://[本地IP]/”来访问“/Library(资源库) /WebServer/Documents/”目录,通过“http://[本地IP]/~[用户名]”来访问“/Users/[用户名]/Sites /”目录,可以通过设置“系统偏好设置”的“安全(Security)”中的“防火墙(Firewall)”来禁止这种访问。
运行PHP
- 在终端中运行“sudo vi /etc/apache2/httpd.conf”,打开Apache的配置文件。(如果不习惯操作终端和vi的可以设置在Finder中显示所有的系统隐藏文件,记得需要重启Finder,这样就可以找到对应文件,随心所欲编辑了,但需要注意的是某些文件的修改需要开启root帐号,但整体上还是在终端上使用sudo来临时获取root权限比较安全。)
- 找到“#LoadModule php5_module libexec/apache2/libphp5.so”,把前面的#号去掉,保存(在命令行输入:w)并退出vi(在命令行输入:q)。
- 运行“sudo cp /etc/php.ini.default /etc/php.ini”,这样就可以通过php.ini来配置各种PHP功能了。比如:
;通过下面两项来调整PHP提交文件的最大值,比如phpMyAdmin中导入数据的最大值 upload_max_filesize = 2M post_max_size = 8M ;比如通过display_errors来控制是否显示PHP程序的报错 display_errors = Off
- 运行“sudo apachectl restart”,重启Apache,这样PHP就可以用了。
- 运行“cp /Library/WebServer/Documents/index.html.en /Library/WebServer/Documents/info.php”,即在Apache的根目录下复制index.html.en文件并重命名为info.php
- 在终端中运行“vi /Library/WebServer/Document/info.php”,这样就可以在vi中编辑info.php文件了。在“It’s works!”后面加上“<?php phpinfo(); ?>”,然后保存之。这样就可以在http://localhost/info.php中看到有关PHP的信息,比如版本号是5.3.1。
安装MySQL
由于Mac OS X中并没有预装MySQL,所以需要自己手动安装,目前MySQL的最稳定版本是5.1。MySQL提供了Mac OS X下的安装说明。
- 下载MySQL 5.1。选择合适的版本,比如这里选择的是mysql-5.1.46-osx10.6-x86_64.dmg。
- 运行dmg,会发现里面有4个文件。首先点击安装mysql-5.1.46-osx10.6-x86_64.pkg,这是MySQL的主安装包。 一般情况下,安装文件会自动把MySQL安装到/usr/local下的同名文件夹下。比如点击运行“mysql-5.1.46-osx10.6- x86_64.dmg”会把MySQ安装到“/usr/local/mysql-5.1.46-osx10.6-x86_64”中。一路默认安装完毕即可。
- 点击安装第2个文件MySQLStartupItem.pkg,这样MySQL就会自动在开机时自动启动了。
- 点击安装第3个文件MySQL.prefPane,这样就会在“系统设置偏好”中看到名为“MySQL”的ICON,通过它就可以设置MySQL开始还是停止,以及是否开机时自动运行。到这里MySQL就基本安装完毕了。
- 通过运行“sudo vi /etc/bashrc”,在bash的配置文件中加入mysql和mysqladmin的别名
#mysql alias mysql='/usr/local/mysql/bin/mysql' alias mysqladmin='/usr/local/mysql/bin/mysqladmin'
这样就可以在终端中比较简单地通过命令进行相应的操作,比如安装完毕之后MySQL的root默认密码为空,如果要设置密码可以在终端运行“mysqladmin -u root password "mysqlpassword"”来设置,其中mysqlpassword即root的密码。更多相关内容可以参考B.5.4.1. How to Reset the Root Password。
注意:Mac OS X的升级或者其他原因可能会导致MySQL启动或者开机自动运行,在MySQL的操作面板上会提示“Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql' ”,或者在命令行下提示“Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)”,这应该是某种情况下导致/usr/local/mysql/data的宿主发生了改变,只需要运行“sudo chown -R mysql /usr/local/mysql/data”即可。
另外,使用PHP连接MySQL可能会报错“Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’”,或者使用localhost无法连接MySQL而需要127.0.0.1,原因是连接时候php默认 去找/var/mysql/mysql.sock了,但是MAC版本的MYSQL改动了文件的位置,放在/tmp下了。处理办法是按如下修改 php.ini:
mysql.default_socket = /tmp/mysql.sock
使用phpMyAdmin
phpMyAdmin是用PHP开发的管理MySQL的程序,非常的流行和实用。能够实用phpMyAdmin管理MySQL是检验前面几步成果的非常有效方式。
- 下载phpMyAdmin。选择合适的版本,比如我选择的是phpMyAdmin-3.3.2-all-languages.tar.bz2这个版本。
- 把“下载(downloads)”中的phpMyAdmin-3.32-all-languages文件夹复制到“/Users/[用户名]/Sites”中,名改名为phpmyadmin。
- 复制“/Users/[用户名]/Sites/phpmyadmin/”中的config.sample.inc.php,并命名为config.inc.php
- 打开config.inc.php,做如下修改:
用于Cookie加密,随意的长字符串 $cfg['blowfish_secret'] = ''; 当phpMyAdmin中出现“#2002 无法登录 MySQL 服务器”时, 请把localhost改成127.0.0.1就ok了, 这是因为MySQL守护程序做了IP绑定(bind-address =127.0.0.1)造成的 $cfg['Servers'][$i]['host'] = 'localhost'; 把false改成true,这样就可以访问无密码的MySQL了, 即使MySQL设置了密码也可以这样设置,然后在登录phpMyAdmin时输入密码 $cfg['Servers'][$i]['AllowNoPassword'] = false;
- 这样就可以通过http://localhost/~[用户名]/phpmyadmin访问phpMyAdmin了。这个时候就看到一个提示“无法加载 mcrypt 扩展,请检查您的 PHP 配置。”,这就涉及到下一节安装MCrypt扩展了。
配置PHP的MCrypt扩展
MCrypt是一个功能强大的加密算法扩展库,它包括有22种算法,phpMyAdmin依赖这个PHP扩展库。但是它在Mac OS X下的安装却不那么友善,具体如下:
- 下载并解压libmcrypt-2.5.8.tar.bz2。
- 在终端执行如下命令(注意如下命令需要安装xcode支持):
XML/HTML代码
- cd ~/Downloads/libmcrypt-2.5.8/
- ./configure --disable-posix-threads --enable-static
- make
- sudo make install
- 下载并解压PHP源码文件php-5.3.1.tar.bz2。Mac OS X 10.6.3中预装的PHP版本是5.3.1,而现在最新的PHP版本是5.3.2,你需要依据自己的实际情况选择对应的版本。
- 在终端执行如下命令:
XML/HTML代码
- cd ~/Downloads/php-5.3.1/ext/mcrypt
- phpize
- ./configure
- make
- cd modules
- sudo cp mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/
- 打开php.ini
sudo vi /etc/php.ini
在php.ini中加入如下代码,并保存后退出,然后重启Apache
extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
当你再访问http://localhost/~[用户名]/phpmyadmin时,你会发现“无法加载 mcrypt 扩展,请检查您的 PHP 配置。”的提示没有了,这就表示MCrypt扩展库安装成功了。
设置虚拟主机
- 在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apche的配置文件
- 在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出。
- 运行“sudo apachectl restart”,重启Apache后就开启了它的虚拟主机配置功能。
- 运行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,这样就打开了配置虚拟主机的文件httpd-vhost.conf,配置你需要的虚拟主机了。需要注意的是该文件默认开启了两个作为例子的虚拟主机:
XML/HTML代码
- <VirtualHost *:80>
- ServerAdmin webmaster@dummy-host.example.com
- DocumentRoot "/usr/docs/dummy-host.example.com"
- ServerName dummy-host.example.com
- ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
- CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
- </VirtualHost>
- <VirtualHost *:80>
- ServerAdmin webmaster@dummy-host2.example.com
- DocumentRoot "/usr/docs/dummy-host2.example.com"
- ServerName dummy-host2.example.com
- ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
- CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
- </VirtualHost>
而实际上,这两个虚拟主机是不存在的,在没有配置任何其他虚拟主机时,可能会导致访问localhost时出现如下提示:
Forbidden You don't have permission to access /index.php on this server
最简单的办法就是在它们每行前面加上#,注释掉就好了,这样既能参考又不导致其他问题。
- 增加如下配置
XML/HTML代码
- <VirtualHost *:80>
- DocumentRoot "/Users/[用户名]/Sites"
- ServerName sites
- ErrorLog "/private/var/log/apache2/sites-error_log"
- CustomLog "/private/var/log/apache2/sites-access_log" common
- </VirtualHost>
保存退出,并重启Apache。
- 运行“sudo vi /etc/hosts”,打开hosts配置文件,加入”127.0.0.1 sites“,这样就可以配置完成sites虚拟主机了,这样就可以用“http://sites”访问了,其内容和“http://localhost/~[用户名]”完全一致。
这是利用Mac OS X 10.6.3中原生支持的方式来实现的配置,也可以参考“Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(一) ”和“Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(二) ”。实际上,你还可以使用XAMPP或MacPorts这种第三方提供的集成方案来实现简单的安装和使用。
--------
值得一观
Tags: mac, php, mysql, apache, 配置
苹果相关 | 评论:1
| 阅读:41264
Submitted by gouki on 2011, June 27, 10:26 PM
这是一个比较初级的教程,应该也会一直延续下去,直到这一次教完结束
上课之前的准备
1、AMP程序,关于这一类的程序相对比较多,我这里还是推荐妖怪的apmxe,嗯,在这里有下载:apmxe备份
2、JRE ,如果你有安装360,直接到软件中心可以下载,否则到sun.com找到jre下载:http://java.com/zh_CN/download/windows_xpi.jsp?locale=zh_CN
3、netbeans ,一款用来开发PHP的IDE(事实上有很多种IDE,但我推荐它的原因是免费、跨平台),下载地址为:http://netbeans.org/downloads/start.html?platform=windows&lang=zh_CN&option=php
4、editplus 如果仅仅用来修改一两个单独的PHP文件,那么editplus应该是可选的【备用软件notepad++,理由是它免费,而editplus不免费】,editplus官网地址:http://www.editplus.com
5、PHP中文手册,开发PHP时的必备之选,下载地址:http://phpdocs-cn-chm.googlecode.com/files/php_manual_en-HonestQiao-20110507-Beta-V0.9.8.gz
OK,做完上述准备工作,让我们先一步一步的开始
1、安装apmxe,安装过程中,我们选择目标地址为d:\www,因此最终生成的路径就是d:\www\apmxe,打开这个目录会发现里面已经有很多目录了:apache22,php5,mysql5,cgi-bin,htdocs,etc,var等目录。现在我们一一介绍一下这些目录:
- apache22,这是apache存放的目录
- php5 ,自带的是PHP5.2,还不是5.3,主要因为5.3中有一些功能暂时还用不上,所以5.2也足够了
- mysql5 ,嗯mysql5 server,具体版本是 5.0.27,虽然有点老,但足够了
- cgi-bin,这个目录一般是用来处理perl的,但APMXE里并没有自带perl,因此这个目录你就当成是无效的吧(如果你有安装perl,也可以尝试着看一下目录下的文件)
- htdocs,WEB存放的目录,系统安装完后,已经有一些自带的程序在里面了,是QEE的一些案例,由于目前我们不是学习QEE开发,因此可以将目录下的examples和qeephp这两个目录先备份后再删除,当然phpmyadmin和xcache-admin目录还是保留着。phpmyadmin是一个可视化管理mysql的WEB程序,xcache-admin则是用来对xcache进行管理的程序。
- etc,apmxe程序的一些配置文件,如果你需要更改配置,修改后缀名为.template的文件,修改完后,重启apmxe,则会自动更新成最新的配置。直接修改配置文件是无效的。程序每次运行都会将.template的文件更名覆盖配置文件。
- var目录,很明显这是一些存放环境变量的目录,apmxe是绿色软件,因此session和tmp都不会写到系统目录里,都默认放到var目录下了。仔细看一下data目录,其实这是mysql的数据库文件,LOGs目录则是存放了WEB运行的一些日志,包括访问正常和不正常的一些日志等,用于查看WEB运行时的一些记录。
推荐apmxe还有另外一个原因,那就是此版本的apmxe默认apache运行的端口是9000,因此访问的路径是:http://localhost:9000/ ,这有什么好处呢?它避免了下载软件和apmxe同时打开的时候,80端口的冲突(很多下载软件为了提速,都占用了80端口)
2、安装JRE,再安装netbeans。
3、安装editplus,【关于editplus可配置的东西就太多了,可以查看:http://neatstudio.com/?action=search&searchid=1118】
-----------------------------------------------------------------------------
打开netbeans,创建一个PHP的项目,项目目录指向到d:\www\apmxe\htdocs\lesson1,PHP运行环境选择为5.2,项目名称改为lesson1,点击下一步,将默认访问的URL :http://localhost/lesson1改为带端口的http://localhost:9000/lesson1,然后直接点击完成。
在IDE左侧的项目管理窗口中点击窗口前的+号,在源文件目录下点击右键,创建PHP文件,内容如下:
PHP代码
- <?php
- echo "hello ,world";
- ?>
然后按F6,我们可以在浏览器里发现页面上输出了hello,world【说明,F6是运行项目的意思】
在上面的代码中我们要说明几点,<?php ,这个代表了PHP代码的开始,虽然也可以写成<?,但我们还是需要从标准出来,不要使用简写,而是需要用完整的<?php来进行表示。
既然<?php代表了开始,那么什么代表结束呢?OK,从上面的代码里我们可以看到?>,是的"?>"这个就代表了PHP代码的结束,因此我们可以认为,一段完整的PHP代码是应该包含在<?php 与 ?>之间的。
接下来我们说明一下echo "hello,world";
echo 是PHP的一个函数,它用来对浏览器中进行输出。常用的语法是echo $val; $val是一个非array或object或resource的变量(当基于这些变量时,输出的结果并非预料中的结果 )
被双引号""包含着的hello,world,是一个字符串,因此在初期我们可以认为echo 被用来输出字符串到浏览器显示。
最后,每一句PHP代码的结束标记是;,当一个PHP语句中出现了;,也就代表了该行代码的结束。
-------------------第一课先到这里,第一课我们了解了PHP运行环境以及IDE的安装,并写了一个程序员们爱用的hello world做了一个简单的测试,并在浏览器正常输出。
下一课我们会讲解变量,常量以及赋值。如果对于上文有意见和建议,可以通过留言来反馈。谢谢
Tags: php, learn, apmxe
PHP | 评论:2
| 阅读:20950
Submitted by gouki on 2011, June 4, 12:02 PM
这两天一直在试用phpstorm,本以为这个IDE是基于IntelliJ IDEA的,所以性能上不会有太高的体现,但在整体试用过程中,却发现,它果然还是一个不错的软件。当然你说它吃内存不?嗯,比较吃内存,但它有一个调节功能,如:power safe mode,可以在降低IDE性能的同时,释放一部分资源。
而且该软件在状态栏有一个内存使用情况,单击还可以释放内存,看到那个483了没,表示它最大会占用483M内存。于是你到任务管理器的时候,它最多可以占用483.。。不会再上去了,不象netbeans或者firefox之类的特占内存软件一样,会持续上升。
在试用过程中,觉得软件对于对象的识别和智能完成确实不错,对于HTML等的校验也相对比较完善。当然对于代码中错误的定位、warning等的显示都比较迅速和快捷,不象netbeans那样较缓慢,让人几乎感觉不错这是一款基于java的软件。实在让人吃惊。
软件的启动速度和打开速度都是非常的惊人,对于版本控制软件也支持的挺好,扫描项目的时间也相对netbeans来说较短。总体来说,不错
软件有点大,70M,不过,这是含 Jre的版本,这样说来,它其实与netbeans也差不太多了。毕竟,netbeans 46M+jre,也差不多70M了,而且这样的版本里,还有一些插件是不全的,还需要额外下载。
安装完后,240多M与netbeans+jre的大小也差不多。
嗯,快捷页和字符编码以及IDE的字体需要额外的调整一下,我是对着netbeans调整的,而且把快捷键也设成了与netbeans一样。一下子就适应了过来。HOHO
不过,netbeans有一个功能是phpstorm没有的,那就是,将项目save to other directory,这个功能非常好,它使得我在用svn的项目时,可以将代码export到WEB目录下,对于这个目录里的测试,所生成的一些无用文件等不会影响到svn目录,不会污染原SVN项目。phpstorm没有该功能,遗憾啊。。。
Tags: php, ide, phpstorm, netbeans
Software | 评论:2
| 阅读:30043
Submitted by gouki on 2011, May 14, 11:01 PM
这是一份比较老的规范了,不是我写的,事实上现在看起来也并不是特别的完善,但不要忘了,它是几年前的东西。
其实规范这玩意,只是大家用来忽悠的一套玩意,说有用吧,其实每个人的习惯都不一样,强制规范一下,确实很痛苦,但是不规范吧,如果团队中开发的人很多,那就非常痛苦了。
事实上我更希望是通过IDE来进行格式化,但,每个人喜欢的IDE都不一样,这确实很痛苦。很让人郁闷。。。嗯 。我的代码一般是用NetBeans进行格式化的。定义好formatter后,按alt+shift+f格式化。
这几句话不错:
XML/HTML代码
- 标准不是项目成功的关键,但可以帮助我们在团队协作中有更高的效率并且更加顺利的完成既定的任务。
- 1. 程序员可以了解任何代码,弄清程序的状况
- 2. 新人可以很快的适应环境
- 3. 防止新接触PHP的人出于节省时间的需要,自创一套风格并养成终生的习惯
- 4. 防止新接触PHP的人一次次的犯同样的错误
- 5. 在一致的环境下,人们可以减少犯错的机会
- 6. 程序员们有了一致的敌人
上附件 。。。
附件: php编码规范.chm (45.93 K, 下载次数:1869)
Tags: php, 编码规范
PHP | 评论:4
| 阅读:19283