phpmanual的简单介绍

http://www.itjxue.com  2023-01-20 00:50  来源:未知  点击次数: 

php内存分配怎么理解

1、内存检查,如果太大则报错

2、如果命中缓存,则使用fastcache中内存块

3、在zendMM中heap层根据申请大小从小块内存、大块内存、剩余内存中查找合适内存

4、如果还没合适的,则直接再申请一块内存

5、重设heap状态

6、返回内存地址、标志变量维护

学习PHP要从哪开始?

PHP需要掌握的知识还是比较多的,最基本的比如:PHP基本的语法、php框架以及CMS、mysql数据库设计表、mysql数据库的基本SQL语句。现在一般PHP的都得会前端,那就包括:js/ajax、html、css。如果更高点层次的就是linux服务器

PHP攻城狮践行学习路线图:

1、用集成环境安装PHP环境,一定要记住这一点,不要自己分开去装,尤其是自学的朋友。不然你会觉得很复杂,会没有信心学下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的阶段历练才有最后的沉淀。

2、先了解一些基本的变量类型,语法,函数,基本逻辑,写简单的代码。前期以尝试,培养兴趣为主。这段时间是打基础很好的时候,这个会影响你后面的发展,不过也可以在后期去完善。

3、这时候你可能觉得PHP就这样,没什么难度,或者有的觉得太难了,简直一脸疑惑。这个到底有什么用。在这时候一定要坚持下来,可以试试先放一下,别太较真。慢慢的困惑你的会被你领悟的。这时,建议学习html+css+js,缓解自己的压力,这个相对简单,简历信心。尤其是js,总结其实有相同的思路,可以结合着一起体会。

4、这些都感觉有80%了解就可以先放放了,现在在学习MySQL,也是先了解基础的。这个是干什么的,我可以用它做什么。因为之前装的集成环境。为什么感觉是凌乱的,我想告诉你的是,一是不要在自己没能力解决问题的时候死磕,浪费时间,丧失信心。这时候我们要做的是学习壮大自己,不要灰心。二是我本来觉得这一切都了解才是完整的。我们的目标也是要把这些都做好,这才是一个合格的PHP程序员。

5、这一切都顺利的话,你基本离预设的目标不远了,完成了整个学习的70%了。后面的是在之前的基础上升华。把HTML和css、js结合、静态文件和PHP结合、PHP和MySQL结合。这个阶段可能越到的问题会异常的多,一定要学会解决问题。网上很多都是答案,同样你要学会问问题。

6、这些之后你基本已经快到学习的尾声了,但还缺少经验。这时,你可以看一些网上开源的cms,例如织梦,国内用的多,越到问题好解决。看看一些视频(网上免费的很多),查漏补缺,总结归纳形成自己的知识体系。是时候该准备庆祝下自己这段的时间没有白费(一般2到3各月,看平时每天花的时间),基本成为一个合格的PHP程序员了。也该恭喜你了,其实并不那么难。坚持,坚持;努力,努力;学习,学习

PHP可以做什么

PHP可以做什么

PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。WEB领域PHP拥有得天独厚的优势,WEB领域没有语言可以和他比。将来一定是互联网的天下。互联网离不开WEB,WEB离不开PHP。那么PHP可以做什么?一起来看看PHP的用途吧!

PC端网站开发

60%全球互联网网站采用php技术,80%国内互联网网站使用php开发。这些网站包含购物网站,政府企业网站,QQ空间,论坛博客等等。

移动端微网站开发

移动设备的普及为移动互联网的快速发展奠定了基础!手机淘宝网站,手机京东网站等等, 微信公众号应用中的微网站。 将来微网站和公众号肯定会取代APP的地位!

APP后台开发

APP后台开发也是移动互联网发展的一个产物。大多数网站为了让用户在手机上能够得到更好体验效果,都加入开发APP的开发行列中。而PHP后端技术将会作为他们的不二选择。

PHP主要用来做网站开发,许多小型网站都用PHP开发,PHP是开源的,这是使得PHP经久不衰的原因。在电商、社区等方面,PHP具备非常成熟的开源代码和模板,因此使得PHP应用极为广泛。

php-fpm的安装目录

下面是我的平时的环境搭建php的各种安装目录,大家的基本也差不多。

centos等linux平台

1./usr/local/php/php

2./usr/local/php/etc/php.ini

3./usr/local/php/sbin/php-fpm

4./usr/local/php/etc/php-fpm.conf

mac平台

1./usr/bin/php

2./etc/php.ini

3./usr/bin/php-fpm

4./etc/php-fpm.conf

由于我开发以Mac为主,所以就用Mac的环境配置来学习。

php-fpm配置详解

这是搜索的一份还算算比较详细的php-fpm.conf配置详解,我会针对性的修改下,当然php手册上也有详细的讲解:

1.pid = /usr/local/var/run/php-fpm.pid

2.#pid设置,一定要开启,上面是Mac平台的。默认在php安装目录中的var/run/php-fpm.pid。比如centos的在: /usr/local/php/var/run/php-fpm.pid

3.

4.error_log ?= /usr/local/var/log/php-fpm.log

5.#错误日志,上面是Mac平台的,默认在php安装目录中的var/log/php-fpm.log,比如centos的在: /usr/local/php/var/log/php-fpm.log

6.

7.log_level = notice

8.#错误级别. 上面的php-fpm.log纪录的登记。可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice.

9.

10.emergency_restart_threshold = 60

11.emergency_restart_interval = 60s

12.#表示在emergency_restart_interval所设值内出现SIGSEGV或者SIGBUS错误的php-cgi进程数如果超过 emergency_restart_threshold个,php-fpm就会优雅重启。这两个选项一般保持默认值。0 表示 '关闭该功能'. 默认值: 0 (关闭).

13.

14.process_control_timeout = 0

15.#设置子进程接受主进程复用信号的超时时间. 可用单位: s(秒), m(分), h(小时), 或者 d(天) 默认单位: s(秒). 默认值: 0.

16.

17.daemonize = yes

18.#后台执行fpm,默认值为yes,如果为了调试可以改为no。在FPM中,可以使用不同的设置来运行多个进程池。 这些设置可以针对每个进程池单独设置。

19.

20.listen = 127.0.0.1:9000

21.#fpm监听端口,即nginx中php处理的地址,一般默认值即可。可用格式为: 'ip:port', 'port', '/path/to/unix/socket'. 每个进程池都需要设置。如果nginx和php在不同的机器上,分布式处理,就设置ip这里就可以了。

22.

23.listen.backlog = -1

24.#backlog数,设置 listen 的半连接队列长度,-1表示无限制,由操作系统决定,此行注释掉就行。backlog含义参考:

25.

26.listen.allowed_clients = 127.0.0.1

27.#允许访问FastCGI进程的IP白名单,设置any为不限制IP,如果要设置其他主机的nginx也能访问这台FPM进程,listen处要设置成本地可被访问的IP。默认值是any。每个地址是用逗号分隔. 如果没有设置或者为空,则允许任何服务器请求连接。

28.

29.listen.owner = www

30.listen.group = www

31.listen.mode = 0666

32.#unix socket设置选项,如果使用tcp方式访问,这里注释即可。

33.

34.user = www

35.group = www

36.#启动进程的用户和用户组,FPM 进程运行的Unix用户, 必须要设置。用户组,如果没有设置,则默认用户的组被使用。

37.

38.pm = dynamic

39.#php-fpm进程启动模式,pm可以设置为static和dynamic和ondemand

40.#如果选择static,则进程数就数固定的,由pm.max_children指定固定的子进程数。

41.

42.#如果选择dynamic,则进程数是动态变化的,由以下参数决定:

43.pm.max_children = 50 #子进程最大数

44.pm.start_servers = 2 #启动时的进程数,默认值为: min_spare_servers + (max_spare_servers - min_spare_servers) / 2

45.pm.min_spare_servers = 1 #保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程

46.pm.max_spare_servers = 3 #,保证空闲进程数最大值,如果空闲进程大于此值,此进行清理

47.

48.pm.max_requests = 500

49.#设置每个子进程重生之前服务的请求数. 对于可能存在内存泄漏的第三方模块来说是非常有用的. 如果设置为 '0' 则一直接受请求. 等同于 PHP_FCGI_MAX_REQUESTS 环境变量. 默认值: 0.

50.

51.pm.status_path = /status

52.#FPM状态页面的网址. 如果没有设置, 则无法访问状态页面. 默认值: none. munin监控会使用到

53.

54.ping.path = /ping

55.#FPM监控页面的ping网址. 如果没有设置, 则无法访问ping页面. 该页面用于外部检测FPM是否存活并且可以响应请求. 请注意必须以斜线开头 (/)。

56.

57.ping.response = pong

58.#用于定义ping请求的返回相应. 返回为 HTTP 200 的 text/plain 格式文本. 默认值: pong.

59.

60.access.log = log/$pool.access.log

61.#每一个请求的访问日志,默认是关闭的。

62.

63.access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"

64.#设定访问日志的格式。

65.

66.slowlog = log/$pool.log.slow

67.#慢请求的`记录日志,配合request_slowlog_timeout使用,默认关闭

68.

69.request_slowlog_timeout = 10s

70.#当一个请求该设置的超时时间后,就会将对应的PHP调用堆栈信息完整写入到慢日志中. 设置为 '0' 表示 'Off'

71.

72.request_terminate_timeout = 0

73.#设置单个请求的超时中止时间. 该选项可能会对php.ini设置中的'max_execution_time'因为某些特殊原因没有中止运行的脚本有用. 设置为 '0' 表示 'Off'.当经常出现502错误时可以尝试更改此选项。

74.

75.rlimit_files = 1024

76.#设置文件打开描述符的rlimit限制. 默认值: 系统定义值默认可打开句柄是1024,可使用 ulimit -n查看,ulimit -n 2048修改。

77.

78.rlimit_core = 0

79.#设置核心rlimit最大限制值. 可用值: 'unlimited' 、0或者正整数. 默认值: 系统定义值.

80.

81.chroot =

82.#启动时的Chroot目录. 所定义的目录需要是绝对路径. 如果没有设置, 则chroot不被使用.

83.

84.chdir =

85.#设置启动目录,启动时会自动Chdir到该目录. 所定义的目录需要是绝对路径. 默认值: 当前目录,或者/目录(chroot时)

86.

87.catch_workers_output = yes

88.#重定向运行过程中的stdout和stderr到主要的错误日志文件中. 如果没有设置, stdout 和 stderr 将会根据FastCGI的规则被重定向到 /dev/null . 默认值: 空.

当然还有一些无关紧要的设置,用到了再说吧。

一些重要的设置

php-fpm进程分配

在之前的文章中就说过了。在fasgcgi模式下,php会启动多个php-fpm进程,来接收nginx发来的请求,那是不是进程越多,速度就越快呢?这可不一定!得根据我们的机器配置和业务量来决定。

我们先来看下,设定进程的配置在哪里?

pm = static | dynamic | ondemand

pm可以设置成这样3种,我们用的最多的就上前面2种。

pm = static 模式

pm = static 表示我们创建的php-fpm子进程数量是固定的,那么就只有pm.max_children = 50这个参数生效。你启动php-fpm的时候就会一起全部启动51(1个主+50个子)个进程,颇为壮观。

pm = dynamic 模式

pm = dynamic模式,表示启动进程是动态分配的,随着请求量动态变化的。他由 pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers 这几个参数共同决定。

上面已经讲过,这里再重申一下吧:

pm.max_children = 50 是最大可创建的子进程的数量。必须设置。这里表示最多只能50个子进程。

pm.start_servers = 20 随着php-fpm一起启动时创建的子进程数目。默认值:min_spare_servers + (max_spare_servers - min_spare_servers) / 2。这里表示,一起启动会有20个子进程。

pm.min_spare_servers = 10

设置服务器空闲时最小php-fpm进程数量。必须设置。如果空闲的时候,会检查如果少于10个,就会启动几个来补上。

pm.max_spare_servers = 30

设置服务器空闲时最大php-fpm进程数量。必须设置。如果空闲时,会检查进程数,多于30个了,就会关闭几个,达到30个的状态。

到底选择static还数dynamic?

很多人恐惧症来袭,不知道选什么好?

一般原则是:动态适合小内存机器,灵活分配进程,省内存。静态适用于大内存机器,动态创建回收进程对服务器资源也是一种消耗。

如果你的内存很大,有8-20G,按照一个php-fpm进程20M算,100个就2G内存了,那就可以开启static模式。如果你的内存很小,比如才256M,那就要小心设置了,因为你的机器里面的其他的进程也算需要占用内存的,所以设置成dynamic是最好的,比如:pm.max_chindren = 8, 占用内存160M左右,而且可以随时变化,对于一半访问量的网站足够了。

慢日志查询

我们有时候会经常饱受500,502问题困扰。当nginx收到如上错误码时,可以确定后端php-fpm解析php出了某种问题,比如,执行错误,执行超时。

这个时候,我们是可以开启慢日志功能的。

slowlog = /usr/local/var/log/php-fpm.log.slow

request_slowlog_timeout = 15s

当一个请求该设置的超时时间15秒后,就会将对应的PHP调用堆栈信息完整写入到慢日志中。

php-fpm慢日志会记录下进程号,脚本名称,具体哪个文件哪行代码的哪个函数执行时间过长:

1.[21-Nov-2013 14:30:38] [pool www] pid 11877

2.script_filename = /usr/local/lnmp/nginx/html/

3.[0xb70fb88c] file_get_contents() /usr/local/lnmp/nginx/html/

通过日志,我们就可以知道第2行的file_get_contents 函数有点问题,这样我们就能追踪问题了。

;

php安装的问题,无法载入 mysql 扩展,请检查 PHP 配置

首先你需要将PHP安装目录下的php_mysql.dll和php_mysqli.dll(我的在D:\apptools\php5\ext目录下)复制到c:\windows\system32目录下,然后修改php.ini文件(需要放到c:\windows目录下),关键是extension=php_mysql.dll 和extension_dir = "D:/apptools/php5/ext"。

我的配置是这样的:

[PHP]

;;;;;;;;;;;

; WARNING ;

;;;;;;;;;;;

; This is the default settings file for new PHP installations.

; By default, PHP installs itself with a configuration suitable for

; development purposes, and *NOT* for production purposes.

; For several security-oriented considerations that should be taken

; before going online with your site, please consult php.ini-recommended

; and .

;;;;;;;;;;;;;;;;;;;

; About php.ini ;

;;;;;;;;;;;;;;;;;;;

; This file controls many aspects of PHP's behavior. In order for PHP to

; read it, it must be named 'php.ini'. PHP looks for it in the current

; working directory, in the path designated by the environment variable

; PHPRC, and in the path that was defined in compile time (in that order).

; Under Windows, the compile-time path is the Windows directory. The

; path in which the php.ini file is looked for can be overridden using

; the -c argument in command line mode.

;

; The syntax of the file is extremely simple. Whitespace and Lines

; beginning with a semicolon are silently ignored (as you probably guessed).

; Section headers (e.g. [Foo]) are also silently ignored, even though

; they might mean something in the future.

;

; Directives are specified using the following syntax:

; directive = value

; Directive names are *case sensitive* - foo=bar is different from FOO=bar.

;

; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one

; of the INI constants (On, Off, True, False, Yes, No and None) or an expression

; (e.g. E_ALL ~E_NOTICE), or a quoted string ("foo").

;

; Expressions in the INI file are limited to bitwise operators and parentheses:

; | bitwise OR

; bitwise AND

; ~ bitwise NOT

; ! boolean NOT

;

; Boolean flags can be turned on using the values 1, On, True or Yes.

; They can be turned off using the values 0, Off, False or No.

;

; An empty string can be denoted by simply not writing anything after the equal

; sign, or by using the None keyword:

;

; foo = ; sets foo to an empty string

; foo = none ; sets foo to an empty string

; foo = "none" ; sets foo to the string 'none'

;

; If you use constants in your value, and these constants belong to a

; dynamically loaded extension (either a PHP extension or a Zend extension),

; you may only use these constants *after* the line that loads the extension.

;

;

;;;;;;;;;;;;;;;;;;;

; About this file ;

;;;;;;;;;;;;;;;;;;;

; All the values in the php.ini-dist file correspond to the builtin

; defaults (that is, if no php.ini is used, or if you delete these lines,

; the builtin defaults will be identical).

;;;;;;;;;;;;;;;;;;;;

; Language Options ;

;;;;;;;;;;;;;;;;;;;;

; Enable the PHP scripting language engine under Apache.

engine = On

; Enable compatibility mode with Zend Engine 1 (PHP 4.x)

zend.ze1_compatibility_mode = Off

; Allow the ? tag. Otherwise, only ?php and script tags are recognized.

; NOTE: Using short tags should be avoided when developing applications or

; libraries that are meant for redistribution, or deployment on PHP

; servers which are not under your control, because short tags may not

; be supported on the target server. For portable, redistributable code,

; be sure not to use short tags.

short_open_tag = On

; Allow ASP-style % % tags.

asp_tags = Off

; The number of significant digits displayed in floating point numbers.

precision = 12

; Enforce year 2000 compliance (will cause problems with non-compliant browsers)

y2k_compliance = On

; Output buffering allows you to send header lines (including cookies) even

; after you send body content, at the price of slowing PHP's output layer a

; bit. You can enable output buffering during runtime by calling the output

; buffering functions. You can also enable output buffering for all files by

; setting this directive to On. If you wish to limit the size of the buffer

; to a certain size - you can use a maximum number of bytes instead of 'On', as

; a value for this directive (e.g., output_buffering=4096).

output_buffering = On

; You can redirect all of the output of your scripts to a function. For

; example, if you set output_handler to "mb_output_handler", character

; encoding will be transparently converted to the specified encoding.

; Setting any output handler automatically turns on output buffering.

; Note: People who wrote portable scripts should not depend on this ini

; directive. Instead, explicitly set the output handler using ob_start().

; Using this ini directive may cause problems unless you know what script

; is doing.

; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"

; and you cannot use both "ob_gzhandler" and "zlib.output_compression".

; Note: output_handler must be empty if this is set 'On' !!!!

; Instead you must use zlib.output_handler.

;output_handler =

; Transparent output compression using the zlib library

; Valid values for this option are 'off', 'on', or a specific buffer size

; to be used for compression (default is 4KB)

; Note: Resulting chunk size may vary due to nature of compression. PHP

; outputs chunks that are few hundreds bytes each as a result of

; compression. If you prefer a larger chunk size for better

; performance, enable output_buffering in addition.

; Note: You need to use zlib.output_handler instead of the standard

; output_handler, or otherwise the output will be corrupted.

zlib.output_compression = Off

; You cannot specify additional output handlers if zlib.output_compression

; is activated here. This setting does the same as output_handler but in

; a different order.

;zlib.output_handler =

; Implicit flush tells PHP to tell the output layer to flush itself

; automatically after every output block. This is equivalent to calling the

; PHP function flush() after each and every call to print() or echo() and each

; and every HTML block. Turning this option on has serious performance

; implications and is generally recommended for debugging purposes only.

implicit_flush = Off

; The unserialize callback function will be called (with the undefined class'

; name as parameter), if the unserializer finds an undefined class

; which should be instantiated.

; A warning appears if the specified function is not defined, or if the

; function doesn't include/implement the missing class.

; So only set this entry, if you really want to implement such a

; callback-function.

unserialize_callback_func=

; When floats doubles are serialized store serialize_precision significant

; digits after the floating point. The default value ensures that when floats

; are decoded with unserialize, the data will remain the same.

serialize_precision = 100

; Whether to enable the ability to force arguments to be passed by reference

; at function call time. This method is deprecated and is likely to be

; unsupported in future versions of PHP/Zend. The encouraged method of

; specifying which arguments should be passed by reference is in the function

; declaration. You're encouraged to try and turn this option Off and make

; sure your scripts work properly with it in order to ensure they will work

; with future versions of the language (you will receive a warning each time

; you use this feature, and the argument will be passed by value instead of by

; reference).

allow_call_time_pass_reference = On

;

; Safe Mode

;

safe_mode = Off

; By default, Safe Mode does a UID compare check when

; opening files. If you want to relax this to a GID compare,

; then turn on safe_mode_gid.

safe_mode_gid = Off

; When safe_mode is on, UID/GID checks are bypassed when

; including files from this directory and its subdirectories.

; (directory must also be in include_path or full path must

; be used when including)

safe_mode_include_dir =

; When safe_mode is on, only executables located in the safe_mode_exec_dir

; will be allowed to be executed via the exec family of functions.

safe_mode_exec_dir =

; Setting certain environment variables may be a potential security breach.

; This directive contains a comma-delimited list of prefixes. In Safe Mode,

; the user may only alter environment variables whose names begin with the

; prefixes supplied here. By default, users will only be able to set

; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).

;

; Note: If this directive is empty, PHP will let the user modify ANY

; environment variable!

safe_mode_allowed_env_vars = PHP_

; This directive contains a comma-delimited list of environment variables that

; the end user won't be able to change using putenv(). These variables will be

; protected even if safe_mode_allowed_env_vars is set to allow to change them.

safe_mode_protected_env_vars = LD_LIBRARY_PATH

; open_basedir, if set, limits all file operations to the defined directory

; and below. This directive makes most sense if used in a per-directory

; or per-virtualhost web server configuration file. This directive is

; *NOT* affected by whether Safe Mode is turned On or Off.

;open_basedir =

; This directive allows you to disable certain functions for security reasons.

; It receives a comma-delimited list of function names. This directive is

; *NOT* affected by whether Safe Mode is turned On or Off.

disable_functions =

; This directive allows you to disable certain classes for security reasons.

; It receives a comma-delimited list of class names. This directive is

; *NOT* affected by whether Safe Mode is turned On or Off.

disable_classes =

; Colors for Syntax Highlighting mode. Anything that's acceptable in

; span style="color: ???????" would work.

;highlight.string = #DD0000

;highlight.comment = #FF9900

;highlight.keyword = #007700

;highlight.bg = #FFFFFF

;highlight.default = #0000BB

;highlight.html = #000000

; If enabled, the request will be allowed to complete even if the user aborts

; the request. Consider enabling it if executing long request, which may end up

; being interrupted by the user or a browser timing out.

; ignore_user_abort = On

;

; Misc

;

; Decides whether PHP may expose the fact that it is installed on the server

; (e.g. by adding its signature to the Web server header). It is no security

; threat in any way, but it makes it possible to determine whether you use PHP

; on your server or not.

expose_php = On

;;;;;;;;;;;;;;;;;;;

; Resource Limits ;

;;;;;;;;;;;;;;;;;;;

max_execution_time = 3000 ; Maximum execution time of each script, in seconds

max_input_time = 60 ; Maximum amount of time each script may spend parsing request data

memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Error handling and logging ;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; error_reporting is a bit-field. Or each number up to get desired error

; reporting level

; E_ALL - All errors and warnings (doesn't include E_STRICT)

; E_ERROR - fatal run-time errors

; E_WARNING - run-time warnings (non-fatal errors)

; E_PARSE - compile-time parse errors

; E_NOTICE - run-time notices (these are warnings which often result

; from a bug in your code, but it's possible that it was

; intentional (e.g., using an uninitialized variable and

; relying on the fact it's automatically initialized to an

; empty string)

; E_STRICT - run-time notices, enable to have PHP suggest changes

; to your code which will ensure the best interoperability

; and forward compatibility of your code

; E_CORE_ERROR - fatal errors that occur during PHP's initial startup

; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's

; initial startup

; E_COMPILE_ERROR - fatal compile-time errors

; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)

; E_USER_ERROR - user-generated error message

; E_USER_WARNING - user-generated warning message

; E_USER_NOTICE - user-generated notice message

;

; Examples:

;

; - Show all errors, except for notices and coding standards warnings

;

;error_reporting = E_ALL ~E_NOTICE

;

; - Show all errors, except for notices

;

;error_reporting = E_ALL ~E_NOTICE | E_STRICT

;

; - Show only errors

;

;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

;

; - Show all errors except for notices and coding standards warnings

;

error_reporting = E_ALL ~E_NOTICE

; Print out errors (as a part of the output). For production web sites,

; you're strongly encouraged to turn this feature off, and use error logging

; instead (see below). Keeping display_errors enabled on a production web site

; may reveal security information to end users, such as file paths on your Web

; server, your database schema or other information.

display_errors = On

; Even when display_errors is on, errors that occur during PHP's startup

; sequence are not displayed. It's strongly recommended to keep

; display_startup_errors off, except for when debugging.

display_startup_errors = Off

; Log errors into a log file (server-specific log, stderr, or error_log (below))

; As stated above, you're strongly advised to use error logging in place of

; error displaying on production web sites.

log_errors = Off

; Set maximum length of log_errors. In error_log information about the source is

; added. The default is 1024 and 0 allows to not apply any maximum length at all.

log_errors_max_len = 1024

; Do not log repeated messages. Repeated errors must occur in same file on same

; line until ignore_repeated_source is set true.

ignore_repeated_errors = Off

; Ignore source of message when ignoring repeated messages. When this setting

; is On you will not log errors with repeated messages from different files or

; sourcelines.

ignore_repeated_source = Off

; If this parameter is set to Off, then memory leaks will not be shown (on

; stdout or in the log). This has only effect in a debug compile, and if

; error reporting includes E_WARNING in the allowed list

report_memleaks = On

; Store the last error/warning message in $php_errormsg (boolean).

track_errors = Off

; Disable the inclusion of HTML tags in error messages.

; Note: Never use this feature for production boxes.

;html_errors = Off

; If html_errors is set On PHP produces clickable error messages that direct

; to a page describing the error or function causing the error in detail.

; You can download a copy of the PHP manual from

; and change docref_root to the base URL of your local copy including the

; leading '/'. You must also specify the file extension being used including

; the dot.

; Note: Never use this feature for production boxes.

;docref_root = "/phpmanual/"

;docref_ext = .html

; String to output before an error message.

;error_prepend_string = "font color=ff0000"

; String to output after an error message.

;error_append_string = "/font"

; Log errors to specified file.

;error_log = filename

; Log errors to syslog (Event Log on NT, not valid in Windows 95).

;error_log = syslog

;;;;;;;;;;;;;;;;;

; Data Handling ;

;;;;;;;;;;;;;;;;;

;

; Note - track_vars is ALWAYS enabled as of PHP 4.0.3

; The separator used in PHP generated URLs to separate arguments.

; Default is "".

;arg_separator.output = ""

; List of separator(s) used by PHP to parse input URLs into variables.

; Default is "".

; NOTE: Every character in this directive is considered as separator!

;arg_separator.input = ";"

; This directive describes the order in which PHP registers GET, POST, Cookie,

; Environment and Built-in variables (G, P, C, E S respectively, often

; referred to as EGPCS or GPC). Registration is done from left to right, newer

; values override older values.

variables_order = "EGPCS"

; Whether or not to register the EGPCS variables as global variables. You may

; want to turn this off if you don't want to clutter your scripts' global scope

; with user data. This makes most sense when coupled with track_vars - in which

; case you can access all of the GPC variables through the $HTTP_*_VARS[],

; variables.

;

; You should do your best to write your scripts so that they do not require

; register_globals to be on; Using form variables as globals can easily lead

; to possible security problems, if the code is not very well thought of.

register_globals = On

; Whether or not to register the old-style input arrays, HTTP_GET_VARS

; and friends. If you're not using them, it's recommended to turn them off,

; for performance reasons.

register_long_arrays = On

; This directive tells PHP whether to declare the argvargc variables (that

; would contain the GET information). If you don't use these variables, you

; should turn it off for increased performance.

register_argc_argv = On

; When enabled, the SERVER and ENV variables are created when they're first

; used (Just In Time) instead of when the script starts. If these variables

; are not used within a script, having this directive on will result in a

; performance gain. The PHP directives register_globals, register_long_arrays,

; and register_argc_argv must be disabled for this directive to have any affect.

auto_globals_jit = On

; Maximum size of POST data that PHP will accept.

post_max_size = 8M

; Magic quotes

;

; Magic quotes for incoming GET/POST/Cookie data.

magic_quotes_gpc = On

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.

magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').

magic_quotes_sybase = Off

; Automatically add files before or after any PHP document.

auto_prepend_file =

auto_append_file =

; As of 4.0b4, PHP always outputs a character encoding by default in

; the Content-type: header. To disable sending of the charset, simply

; set it to be empty.

;

; PHP's built-in default is text/html

default_mimetype = "text/html"

;default_charset = "iso-8859-1"

; Always populate the $HTTP_RAW_POST_DATA variable.

;always_populate_raw_post_data = On

;;;;;;;;;;;;;;;;;;;;;;;;;

; Paths and Directories ;

;;;;;;;;;;;;;;;;;;;;;;;;;

; UNIX: "/path1:/path2"

;include_path = ".:/php/includes"

;

; Windows: "\path1;\path2"

include_path = ".;D:\apptools\php5\PEAR"

; The root of the PHP pages, used only if nonempty.

; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root

; if you are running php as a CGI under any web server (other than IIS)

; see documentation for security issues. The alternate is to use the

; cgi.force_redirect configuration below

doc_root =

; The directory under which PHP opens the script using /~username used only

; if nonempty.

user_dir =

; Directory in which the loadable extensions (modules) reside.

extension_dir = "D:/apptools/php5/ext"

; Whether or not to enable the dl() function. The dl() function does NOT work

; properly in multithreaded servers, such as IIS or Zeus, and is automatically

; disabled on them.

enable_dl = On

php如何判断日期是否是周末(星期六和星期天)

需要准备的材料分别是:电脑、php编辑器、浏览器。

1、首先,打开php编辑器,新建php文件,例如:index.php。

2、在index.php中,再输入代码:echo '今日' . date('Y-m-d')?. (date('N') 5 ? '是' : '不是')?. '周末';。

3、浏览器运行index.php页面,此时会打印出今日是不是周末的判断结果。

php->是什么意思

一、=,-的意思:

-是对象执行方法或取得属性用的。

=是数组里键和值对应用的。

二、用法

1、= 的用法数组中用于数组的?key?和?value之间的关系例如:

$a?=?array('0'?=?'1','2'?=?'4',);echo?$a['0'];echo?$a['2'];

2、- 的用法类中用于引用类实例的方法和属性例如:

class?Test{function?add(){return?$this-var++;}var?$var?=?0;}$a?=?new?Test;

//实例化对象名称

echo?$a-add();echo?$a-var;

扩展资料

PHP中-代码如下:

?php

class Car {

public $speed = 0;

//增加speedUp方法,使speed加10

public function speedUp(){

$this-speed+=10;

}

}

$car = new Car();

$car-speedUp();

echo $car-speed;

?

PHP中=代码如下:

?php

//从数组变量$arr中,读取键为apple的值

$arr = array('apple'="苹果",'banana'="香蕉",'pineapple'="菠萝");

$arr0=$arr["apple"];

if( isset($arr0) )

{print_r($arr0);

}

?

参考资料来源:百度百科 - PHP (超文本预处理器)

百度百科 - PHP运算符

(责任编辑:IT教学网)

更多

推荐Discuz!建站文章