PHP教程说明文档
PHP是一种面向对象的编程语言,设计用于实时生成网页并构建Web应用程序。
域名的初始配置
要运行使用PHP编写的网站,首先需要确保正确配置了域名。在继续下一步之前,请确保以下几点:
- 域名已正确添加并配置到我们的DNS系统中。
- 已添加了指向PHP类型的WWW页面。
PHP配置
PHP解释器的配置文件位于 /usr/home/LOGIN/.user.ini。你可以为每个目录分别设置自己的 .user.ini 文件。你可以定义在 phpinfo() 中可见的配置项,这些配置项在指令列表中标记为 PHP_INI_PERDIR 或 PHP_INI_ALL,并且还可以设置一些额外的模块变量。
示例
以下示例为域名 DOMAIN 设置 error_reporting 变量。为此,将以下内容写入文件 /usr/home/LOGIN/domains/DOMAIN/.user.ini:
ini
error_reporting = E_ALL | E_WARNING
增加PHP解释器的内存:
ini
memory_limit = 768M
增加 max_execution_time:
ini
max_execution_time = 360
增加 max_input_vars:
ini
max_input_vars = 600
将PHP错误日志保存到文件:
ini
display_errors = off
log_errors = on
error_log = /usr/home/LOGIN/domains/DOMAIN/phperror.log
更改临时文件目录的默认位置:
ini
upload_tmp_dir = path/to/directory
加载额外的PHP模块
通过在 .user.ini 文件中添加以下条目可以加载额外的PHP模块:
ini
anp.extensions = "MODULENAME"
该模块必须由系统管理员预先安装。目前可用的模块包括:amqp,sodium(PHP 7.1:libsodium,PHP 7.2至PHP 8.2:sodium),phalcon,grpc,yaml。
要限制PHP文件操作到特定的目录树,请使用 open_basedir。将以下内容写入 /usr/home/LOGIN/domains/DOMAIN/.user.ini 文件(路径指向目录树):
ini
open_basedir = "path:/tmp"
建议使用在PHP网站详细信息面板中直接提供的 open_basedir 配置。
更改PHP CLI的设置
要更改PHP CLI的选项,需要在主目录中创建一个 .user.ini 配置文件。创建后,运行以下命令:
bash
echo "export PHP_INI_SCAN_DIR=/usr/home/${USER}" >> $HOME/.bash_profile && source $HOME/.bash_profile
PHP版本
默认的PHP版本是8.1。
你可以在创建的 /usr/home/LOGIN/domains/DOMAIN/.htaccess 文件中选择PHP版本。将以下其中一行添加到该文件中:
ini
AddType application/x-httpd-php56 .php
AddType application/x-httpd-php70 .php
AddType application/x-httpd-php71 .php
AddType application/x-httpd-php72 .php
AddType application/x-httpd-php73 .php
AddType application/x-httpd-php74 .php
AddType application/x-httpd-php80 .php
AddType application/x-httpd-php81 .php
AddType application/x-httpd-php82 .php
AddType application/x-httpd-php83 .php
此外,服务器上还提供了以下PHP CLI二进制文件命令:
bash
$ php
$ php56
$ php70
$ php71
$ php72
$ php73
$ php74
$ php80
$ php81
$ php82
$ php83
要在不指定版本号的情况下运行某个PHP CLI版本,可以执行以下命令(以PHP 7.1为例):
bash
mkdir -p ~/bin
ln -s /usr/local/bin/php71 ~/bin/php
echo 'export PATH=$HOME/bin:$PATH' >> $HOME/.bash_profile
source $HOME/.bash_profile
还有CGI-FCGI版本:
bash
$ php-cgi
$ php56-cgi
$ php70-cgi
$ php71-cgi
$ php72-cgi
$ php73-cgi
$ php74-cgi
$ php80-cgi
$ php81-cgi
$ php82-cgi
$ php83-cgi
运行无限制的PHP脚本
通过SSH登录后,可以运行不受时间限制的PHP脚本。要运行脚本,请使用PHP CLI,例如:
bash
php ~/domains/shop.example.com/public_html/product_import.php
第二种方法是运行嵌入式PHP Web服务器。具体步骤如下:
- 保留TCP端口。
- 登录SSH。
- 转到包含PHP脚本的目录(例如,所选域名的
public_html目录):
bash
cd /usr/home/LOGIN/domains/DOMAIN/public_html
- 使用以下命令在保留的端口上启动服务器:
bash
php73 -S 0.0.0.0:RESERVED_PORT
你还可以选择其他PHP版本,例如php72。 - 为了让服务器在退出后继续运行,可以在screen会话中启动它:
bash
screen -dm sh -c "php73 -S 0.0.0.0:RESERVED_PORT"
-
可选:将PROXY类型的WWW页面添加到保留端口。
通过以下地址可以访问脚本:
bash
http://sX.serv00.com:RESERVED_PORT
例如,在 s4.serv00.com 服务器上,保留端口为 12345,访问地址为:
bash
http://s4.serv00.com:12345/product_import.php
使用 mail() 函数
在使用 mail() 函数之前,请先阅读适用的规则。