php53手册
1. php书籍推荐
关注PHP的人越来越多了,可惜国内PHP5方面的好书还非常少,几乎可以说没有。
PHP4即将是明日黄花,所以学PHP最好直接学PHP5。下面是我认为比较好的PHP5书籍:
1. Core PHP Programming, 3rd Edition
这本书是PHP专家Leon Atkinson和PHP创始人之一Zeev Suraski合着的。国内有
第2版,讲PHP4的,但这本第3版还买不到。学校图书馆有一本原版,可惜只有一本
(现在在我手里,咔咔)。讲得非常全面,做为Web编程方面的知识,几乎全部包括
了。最有价值的是Part 4,讲Software Enginerring的,介绍了设计、效率与调试,
还介绍了四种最常用的设计模式,非常有参考价值。可惜毕竟是03年的书,那时候
PHP5还在开发中,所以里面有一些内容并不完全适合现在的PHP5,比如名字空间(
PHP5并不支持名字空间)。不过瑕不掩瑜,做为PHP5的一本综合书籍,这本书非常
经典,可以用于入门,也可以用于提高。
2. PHP5 Power Programming
这本书是PHP的另一创始人Andi Gutmans写的,专门针对PHP5。个人感觉这本书
不适合学习,但很适合提高时参考。里面花了大量篇幅讲述PHP5的面向对象机制,
不过基本上跟Core PHP Programming重复,所以看过Core后再看这些将很快,可以
当成温故一遍。还有一章介绍了PHP5里的高级面向对象特性,如迭代器,反射API(
Reflection API,在其它面向对象语言里称自省),也介绍了设计模式。
可惜的是,跟上面一本书一样,都是只讲PHP特性的书,具体到PHP高级应用的
实战讲得感觉比较欠缺,像MVC模式,两本书都没讲到,而这些对PHP高级编程来说是
非常重要的。比较令人安慰的是这本书还介绍了很多PHP高级特性,像PEAR包,APC,
APD,Xdebug,还有Zend Studio的使用,等等,这些还是非常有价值的。
总之,这是一本很适合提高时使用的书籍,跟Core一样,也是PHP书籍中的经典。
3. PHP and Mysql Web Development, 3rd Edition
这是国内唯一能买到的PHP5书籍,中文翻译,但翻译质量不怎么样,有些句子
读起来莫名其妙。这本书比较适合初中级的PHP学习,而且非常实际,有很多基本应
用的实例,很适合入门。除了数据库知识很不错外,里面也讲到了使用PHP和MySQL
开发中等项目时所需要考虑到的问题,介绍了很多基本的软件项目管理方法,非常
实用。后面几章是一些实例,介绍了购物车(我最不喜欢这东西),邮件列表,内容
管理系统和论坛的编写,不过都只是基础,没有高级技巧,所以看起来会觉得很不舒
服,呵呵。
里面有一张泛泛地讲到了电子商务安全,可以参考下。个人感觉相当不错的内容
是MySQL部分,基本涵盖了数据库基础和MySQL基础及高级特性,但限于篇幅,没有去
讲得很深入,权当是入门指引了。
因为是国内能买到的,所以很多人可能会喜欢从这本书开始学PHP5,我觉得也不
错。总之很推荐这本书。
4. Essential PHP Security
这是一本讲述PHP编码安全的书,非常需要引起PHP开发人员的重视。我觉得这是
一本必读书籍,读过后会让你冒冷汗。现在注重安全编码的人实在太少了,对于一个
专业的PHP程序员,PHP安全特性绝对要烂熟于胸,而这本书就提供了一个非常好的视
角。
5. PHP Architect's Guide to PHP Design Patterns
这本书我正在看,对于PHP5面向对象的学习绝对非常有帮助。里面介绍了非常多
的设计模式,直接以PHP语言实现出来,可以让你一步到位使用模式思想。第17章介
绍了PHP里的MVC模式,可以说是带了个好头,很有参考价值。
由于还没看完,所以不敢多评价,但可以肯定的是,这本书对于学PHP5面向对象
高级编程的人来说是绝对必备的。
国内有中文版,phpchina社区翻译的,可以下载过来参考下。另外,好像关于
PHP设计模式的书又出了一本,叫做《PHP5: Objects, Patterns and Practice》,
可惜我Google了半天也找不到下载地址,只能作罢了,希望以后能找到。可以肯定这
又将是一本让人振奋的书。
又将是一本让人振奋的书。
最后想说明的是,Oreilly的PHP书就不用看了,包括PHP创始人Rasmus Lerdorf写的
《Programming PHP》(现在好像出第2版了),讲得东西基本上全是PHP手册里的东
西,没必要重复浪费时间。像《Learning PHP5》,《PHP Cookbook》之类,说实话
我个人感觉真的只是PHP手册的子集。最近好像又出了本同样可以看成是子集的书,
书名是《Learning PHP and MySQL》,看了一眼就没看了。不是对Oreilly有偏见,
只是因为它的书全是入门级的,没什么含金量,属于看过就扔的那种。想想K&R的
《The C Programming Language》吧,呵呵。
最最后想说明的是,PHP手册,一定要反复看!这个是学PHP最重要的参考资料,每个
人都应该有一本以备不时之需。有中文翻译版的,不过里面的链接有错误,看起来不
是很方便,但多摸索几次就能把链接弄对了。
大概就讲这些了,只是我个人观点,希望大家指点批评,共同进步。
2. php 经典教材
PHP和MySQL Web开发 (原书第4版)——号称PHP和MySQL Web开发 的圣经,必需品。
深入PHP:面向对象、模式与实践(第3版)——进阶用。
3. 跪求php好一点的教程
【2】韩顺平老师php从入门到精通149讲网络网盘免费资源在线学习
链接: https://pan..com/s/1cCoVdUCjSq2xNGvHOMs_dA
【2】韩顺平老师php从入门到精通149讲 下载必看.txt 海量精品建站资源尽在青龙建站教程自学网.zip 更多建站教程请点击这里.url 点击获取解压密码.url 第149讲 开发自己的网上支付平台⑤-防止回调页面刷新.wmv 第148讲 开发自己的网上支付平台④-接收支付结果.wmv 第147讲 开发自己的网上支付平台③-发送支付请求.wmv 第146讲 开发自己的网上支付平台②-商家与易宝支付网关对接详解.wmv 第145讲 开发自己的网上支付平台①-网上支付的两种方式及其流程介绍.wmv 第144讲 php xml编程(11)-基于xml的在线词典评讲.wmv 第143讲 php xml编程(10)-SimpleXML.wmv 第142讲 php xml编程⑨-综合练习-基于xml的在线词典 phpdom使用xpath.wmv 第141讲 php xml编程⑧-phpdom编程(3) 综合练习-基于xml的在线词典.wmv 第140讲 php xml编程⑦-phpdom编程(2).wmv
4. 电脑版php手册怎么修改为中文版
PHP 手册想要完全显示成中文,需要两个条件:
1、将官方的英文版完全翻译成中文。
2、编译打包的 chm 使用中文。
从截图看,Chm 是中文的,但显示的页面是英文,这可能是因为文档是英文版的,也可能是因为该篇章节翻译不全。
建议到官方网站下载最新的中文版翻译文档:
5. 如何在 OSX 上架设 Nginx+MariaDB+PHP 服务器
打开“Mac App Store”下载并安装“Xcode”。
打开“Xcode”,按下同意并接受Xcode的使用条款。
打开“终端机(Terminal)”,输入下面的指令并且安装Homebrew。
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
输入下面的指令让其他程式知道Xcode的位置。
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
之后,“按此”下载最新版本的X11并且安装。
之后建立X11的符号链接(软链接)。
sudo ln -s /opt/X11 /usr/X11
之后使用下面的指令查看透过Homebrew安装的套件。
brew list
之后输入下面指令查看当前系统变数。
$PATH
打开“.bash_profile”并修改系统变数。
vim ~/.bash_profile
将“/usr/local/bin”放在“/usr/local/sbin”之前。例如︰
export PATH=~/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin
接着,请参考文章“[教学] 在 OSX 10.8 上设定 Postfix 邮件传送代理 (MTA)”设定Postfix。
启用Postfix。
sudo postfix start
安装 dnsmasq 设定 DNS
透过Homebrew安装dnsmasq,以加速网路存取速度。
brew install dnsmasq
复制和编辑dnsmasq.conf。
mkdir /usr/local/etc
cp $(brew --prefix dnsmasq)/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
vim /usr/local/etc/dnsmasq.conf
更改dnsmasq.conf内的数值。
resolv-file=/etc/resolv.dnsmasq.conf
address=/.ld/127.0.0.1
listen-address=127.0.0.1
建立并编辑DNS解析文件。
sudo vim /etc/resolv.dnsmasq.conf
在“resolv.dnsmasq.conf”文件内贴上以下内容。
# Google DNS IPv6:
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
# OpenDNS IPv6:
nameserver 2620:0:ccd::2
nameserver 2620:0:ccc::2
# Google DNS:
nameserver 8.8.8.8
nameserver 8.8.4.4
# OpenDNS:
nameserver 208.67.222.222
nameserver 208.67.220.220
设定开机自动执行dnsmasq。
sudo cp $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
设定你的Hostname。
sudo scutil --set HostName foolegg
打开“系统设定”,在“网络”内分别选择“Wi-fi”和“Ethernet”,在“进阶”内设定“127.0.0.1”为DNS服务器。
安装 Nginx
输入下面指令关闭自动启用Apache。
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
之后透过Homebrew安装Nginx。
brew install nginx
安装完成后,复制和备份nginx.conf。
cp /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.conf.bak
打开nginx.conf,删除所有内容,使用下面的内容取代。
# Nginx web server main configuration file nginx.conf
#
user www-data staff;
worker_processes 4;
worker_rlimit_nofile 8192;
error_log /usr/local/var/log/nginx/error.log;
#pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 10;
tcp_nodelay on;
gzip on;
client_max_body_size 100M;
#access_log /usr/local/var/log/nginx/access.log main;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
## FastCGI.
include /usr/local/etc/nginx/fastcgi.conf;
## For the filefield_nginx_progress mole to work. From the
## README. Reserve 1MB under the name 'uploads' to track uploads.
#upload_progress uploads 1m;
#include /etc/nginx/conf.d/*.conf;
#include /usr/local/etc/nginx/aegir.conf;
server {
listen 80;
server_name localhost;
server_tokens off;
#access_log /usr/local/var/log/nginx/access.log main;
root /usr/share/nginx/www/public_html;
location / {
root /usr/share/nginx/www/public_html;
index index.html index.htm;
##### Use this if you're going to install wordpress #####
#if (-f $request_filename/index.html) {
# rewrite (.*) $1/index.html break;
#}
#if (-f $request_filename/index.php) {
# rewrite (.*) $1/index.php;
#}
#if (-f $request_filename) {
# rewrite (.*) /index.php;
#}
#if (!-e $request_filename) {
# rewrite ^.+?(/wp-.*) $1 last;
# rewrite ^.+?(/.*\.php)$ $1 last;
# rewrite ^ /index.php last;
#}
#rewrite /wp-admin$ $scheme://$host$uri/ permanent;
##### End #####
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www/public_html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
之后建立Nginx的log资料夹和其它必要的目录。
sudo mkdir -p /usr/local/var/log/nginx/
touch /usr/local/var/log/nginx/error.log
touch /usr/local/var/log/nginx/access.log
sudo mkdir -p /usr/share/nginx/www/public_html
安装 MariaDB
透过Homebrew安装MariaDB。
brew install mariadb --use-llvm --env=std
取消TMPDIR设定。
unset TMPDIR
初始化MySQL数据库。请将5.5.30更改为你当前使用的版本编号。
cd /usr/local/Cellar/mariadb/5.5.30/scripts
mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
系统会提示错误,请忽略有关错误。下面的教学设定会更正错误。
安装 PHP
虽然OSX上已经安装了PHP,但是我们不会使用Apple的PHP。
输入下面的指令安装PHP。
brew tap josegonzalez/homebrew-php
brew tap homebrew/pes
brew install php53 --with-mysql --with-fpm --with-imap
brew install php53-xhprof
brew install php53-xdebug
brew install php53-uploadprogress
brew install php53-memcached
brew install php53-imagick
打开并修改php.ini。
vim /usr/local/etc/php/5.3/php.ini
搜索
extension=php_zip.dll
在下面加上以下内容,请更改版本编号。
extension="/usr/local/Cellar/php53-xhprof/0.9.2/xhprof.so"
extension="/usr/local/Cellar/php53-uploadprogress/1.0.3.1/uploadprogress.so"
extension="/usr/local/Cellar/php53-memcached/2.1.0/memcached.so"
extension="/usr/local/Cellar/php55-imagick/3.1.0RC2/imagick.so"
zend_extension="/usr/local/Cellar/php53-xdebug/2.2.1/xdebug.so"
到“PHP手册”寻找你身处地区的时区。修改php.ini内的“date.timezone”变数的数值。
date.timezone = Asia/Hong_Kong
寻找以下3个变数的数值。如果找不到,请在档案的最尾部份加上3个变数和数值。
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
修改记忆体和上传限制的数值。如果变量前出现分号“;”,请将之删除。
memory_limit = 256M
post_max_size = 100M
upload_max_filesize = 100M
打开并修改php-fpm.conf档案。
vim /usr/local/etc/php/5.3/php-fpm.conf
搜索
pid = run/php-fpm.pid
在下面加上
pid = /usr/local/var/run/php-fpm.pid
之后删除下面4行变数和数值前的分号“;”。
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 5
pm.max_requests = 500
按照下面修改“error_log”的数值。
error_log = /usr/local/var/log/php-fpm.log
之后建立log的符号链接(软链接)。
sudo ln -s $(brew --prefix josegonzalez/php/php53)/var/log/php-fpm.log /usr/local/var/log/php-fpm.log
开机启用服务
设定Nginx的启用服务。
sudo cp $(brew --prefix nginx)/homebrew.mxcl.nginx.plist /Library/LaunchDaemons/
sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
打开并修改“homebrew.mxcl.nginx.plist”。
sudo vim /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
在“homebrew.mxcl.nginx.plist”内删除以下内容。
<key>KeepAlive</key>
<true/>
<key>UserName</key>
<string>[YourUserName]</string>
开启Nginx。
launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
为软件建立资料夹。
mkdir -p ~/Library/LaunchAgents
设定MariaDB的启用服务。
cp $(brew --prefix mariadb)/homebrew.mxcl.mariadb.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
设定PHP的启用服务。
cp $(brew --prefix josegonzalez/php/php53)/homebrew-php.josegonzalez.php53.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php53.plist
完成MariaDB的设定。
sudo $(brew --prefix mariadb)/bin/mysql_secure_installation
为MySQL设定密码。
Enter current password for root (enter for none): [Enter]
Set root password? [Y/n] y
New password: [password]
Re-enter new password: [password]
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
测试PHP
建立并修改index.php。
vim /usr/share/nginx/www/public_html/index.php
输入并储存以下内容。
<?php phpinfo(); ?>
从新启动Nginx。
sudo nginx -s reload
打开浏览器,输入“http://localhost/index.php”查看是否成功运行PHP。
启动或停止MNMP
在桌面或其他位置建立Shell Script“mnmp.sh”。
vim mnmp.sh
在Shell Script“mnmp.sh”内加入以下内容,然后储存档案。
#!/bin/bash
case "$1" in
start)
# Start MariaDB
echo -e "Starting mariadb..."
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
# Start PHP
echo -e "Starting php..."
launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php53.plist
# Start Nginx
echo -e "Starting nginx..."
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
;;
stop)
# Stop MariaDB
echo -e "Stopping mariadb..."
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
# Stop PHP
echo -e "Stopping php..."
launchctl unload -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php53.plist
# Stop Nginx
echo -e "Stopping nginx..."
sudo launchctl unload -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
;;
esac
exit 0
为Shell Script“mnmp.sh”加入可执行权限。
chmod 700 mnmp.sh
使用以下指令启动MNMP。
./mnmp.sh start
使用以下指令停止MNMP。
./mnmp.sh stop
PHP档案存取错误
有部份读者反映在存取PHP档案时出现错误。大家可以打开档案“/usr/local/var/log/nginx/error.log”查看错误的原因。
如果出现下面的原因,可能是因为php-fpm的问题。
[error] <NUMBER>#0: *<NUMBER> kevent() reported that connect() fa iled (<NUMBER>: Connection refused) while connecting to upstream, client: 127.0.0. 1, server: localhost, request: “GET /index.php HTTP/1.1″, upstream: “fastcgi ://127.0.0.1:9000″, host: “127.0.0.1″
大家可以使用“netstat -anp tcp | grep 9000”或者“lsof -i tcp:9000”查看占用Port 9000的进程,并且将其终止。之后使用下面指令开启php-fpm。
sudo /usr/local/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf
请再次测试是否成功存取php。如果成功,请依照下面设定自动启动php-fpm。
设定自动启动php-fpm
建立文件“~/Library/LaunchAgents/org.php-fpm.plist”。
6. 介绍本从实例讲解php各功能的书箱,基础的就不用了。
强力推荐《PHP6与mysql5基础教程》,别看书名带基础,讲的很不错,里面伴随一个项目介绍各种功能与技巧,图灵的书都很好的。
7. php 基础教程
下载一个PHP手册,上面讲得非常详细,粘贴在这太多了你也懒得看。
手册就是一个CHM文件,里面入门介绍非常精练,下载地址很多:
http://www..com/s?wd=PHP%D6%D0%CE%C4%CA%D6%B2%E1
8. php中文参考手册和appserv
PHP中文手册 建议你去 PHP官网下载,具体的方式,可能你要问我,或者去网上搜。PHP官方的手册比较全面。俗话说,你放弃了PHP官网就等于放弃了PHP。祝你生活愉快。快速学会PHP
9. 请教大家个问题,我要学习PHP,可是不知从哪下手,用什么软件哪里有好的教程请不吝赐教,在此,多谢~
需要你准备三件事
1.配置PHP开发环境 下载APM或者WAMP
这个是集成环境 不用手动配置 比较适合你
2.使用PHP开发软件 建议你使用 phpdesigner
3.准备书籍 不要要什么入门或者教程 只需要PHP手册
把这个手册边看边操作 就行了
额外的 可以+一个PHP开发群 有助于帮你解答问题
记住 只要基础打的好 往深一步发展才能更加顺利