本文目录一览:
- 1、如何在虚拟机上搭建php
- 2、php curl中CURLOPT_HTTPHEADER 这个参数的含义
- 3、php 怎么安装扩展
- 4、PHP CURLOPT_RETURNTRANSFER选项,该如何理解 ?
如何在虚拟机上搭建php
虚拟机是window系统还是 linux系统。
window系统就很简单了,直接下载一个集成环境,就可以运行了
linux 系统就要稍微麻烦点
1. php下载以及安装
下载: wget
解压: tar -zxvf php-7.3.2.tar.gz
进入目录开始编译安装:
./configure --prefix=/opt/soft/php --enable-fpm
下面是直接把常用的扩展安装好,免得后面在一个一个安装(推荐)
./configure --prefix=/opt/soft/php --with-curl --with-mysqli --with-openssl --with-pdo-mysql --enable-fpm
make
sudo make install
设置快捷访问方式: sudo cp /opt/soft/php/bin/php /usr/local/bin/
把php配置文件放在正确的位置
确认正确位置:php -i | grep php.ini
在下载的安装包中将php配置文件移动过来: sudo cp /opt/packages/php-7.3.2/php.ini-production /opt/soft/php/lib/php.ini
ps:以后可以通过 php --ini 查看文件所在位置
2. nginx下载以及安装
和上面php一样的步骤,下载--解压--编译--安装
wget
./configure --prefix=/opt/soft/nginx --sbin-path=/opt/soft/nginx/sbin/nginx --conf-path=/opt/soft/nginx/config/nginx.conf --error-log-path=/opt/soft/nginx/logs/error.log --pid-path=/opt/soft/nginx/logs/nginx.pid --http-log-path=/opt/soft/nginx/logs/access.log --with-http_stub_status_module --with-http_ssl_module
sudo make make install
设置快捷访问方式: sudo cp /opt/soft/nginx/sbin/nginx /usr/local/bin/
简单配置nginx(详细配置后面再重新开文章写),然后浏览器直接访问ip就能访问了(这个时候只能访问html,访问php是直接下载文件)
开启nginx: sudo nginx(sudo nginx -s reload 重启nginx), 查看是否开起nginx: sudo netstat -anp | grep 80(端口号)
3. 配置nginx支持php
nginx不能直接和php通信,需要借助FastCGI(高速地在HTTP服务器和动态脚本语言间通信的接口),需要用到php-fpm(FastCGI Process Manager:FastCGI进程管理器, 他的具体概念可以参照这里搞清楚php-FPM到底是什么),这也是为什么在编译安装php的时候需要带--enable-fpm这个扩展的原因.
I. 启动php-fpm
进入到 /opt/soft/php/etc 这个目录将php-fpm.conf.default改名为php-fpm.conf,编辑他查看最后一行
然后进入最后一行指向php-pm.d目录,将改名成,并编辑成对应账号,我这里是xunan
然后将/opt/soft/php/sbin/php-fpm设置快捷访问方式,并启动php-fpm,也就是执行下面两个命令
sudo cp /opt/soft/php/sbin/php-fpm /usr/local/bin/ sudo php-fpm
ps: 重启php-fpm: 先ps aux | grep php-fpm,然后kill掉对应的进程
II. 配置nginx支持php
具体配置:
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
按照上面配置完成后,在配置文件的root目录下建立一个index.php,编辑
然后重启nginx(sudo nginx -s reload),在浏览器ip访问
php curl中CURLOPT_HTTPHEADER 这个参数的含义
php curl中CURLOPT_HTTPHEADER 这个参数的含义是:CURLOPT_HTTPHEADER 一个用来设置HTTP头字段的数组。Content-Type 表示后面的文档属于什么MIME类型。charset表示浏览器可接受的字符集。
HTTP头Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentType。
HTTP请求头的部分类型:
1、Accept:浏览器可接受的MIME类型。
2、Accept-Charset:浏览器可接受的字符集。
3、Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。
4、Connection:表示是否需要持久连接。如果Servlet看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。
5、Content-Length:表示请求消息正文的长度。
6、Cookie:这是最重要的请求头信息之一。
扩展资料:
PHP中的CURL函数库(部分):
1、curl_setopt_array — 为cURL传输会话批量设置选项
2、curl_setopt — 设置一个cURL传输选项
3、curl_close — 关闭一个cURL会话
4、curl_copy_handle — 复制一个cURL句柄和它的所有选项
5、curl_errno — 返回最后一次的错误号
6、curl_error — 返回一个保护当前会话最近一次错误的字符串
7、curl_escape — 使用 URL 编码给定的字符串
在实际的使用当中,使用得最多的函数是curl_setopt — 设置一个cURL传输选项说明:bool curl_setopt ( resource $ch , int $option , mixed $value )其中,ch 由 curl_init() 返回的 cURL 句柄。option 表示的是需要设置的CURLOPT_XXX选项。
option的可选参数:
1、CURLOPT_BUFFERSIZE 每次获取的数据中读入缓存的大小,但是不保证这个值每次都会被填满。在cURL 7.10中被加入。
2、CURLOPT_CLOSEPOLICY 不是CURLCLOSEPOLICY_LEAST_RECENTLY_USED就是CURLCLOSEPOLICY_OLDEST,还存在另外三个CURLCLOSEPOLICY_,但是cURL暂时还不支持。
3、CURLOPT_CONNECTTIMEOUT 在发起连接前等待的时间,如果设置为0,则无限等待。
参考资料来源:百度百科-http请求头
参考资料来源:百度百科-curl
php 怎么安装扩展
在windows平台上,主要是三个步骤:
1、下载php扩展库文件;
一般在 上就有下载信息。
2、解压缩文件,将*.dll文件复制到PHP程序主目录下的“ext”或者“extension”目录。
3、打开php.ini文件,在“Dynamic Extensions”配置段中加上“extension=*.dll”,关闭文件,重新启动一下服务器就可以加载成功了。
PHP CURLOPT_RETURNTRANSFER选项,该如何理解 ?
TRUE to return the transfer as a string of the return value ofcurl_exec() instead of outputting it out directly.
根据php官网解释 如果你设置这个的参数为TRUE
即 curl_exec() 的结果是一个return赋值 也就是你要把它赋值给一个函数
比如 $response = curl_exec();
$response就是一个你curl执行后的string结果
反之如果是false 你的 curl_exec(); 就相当于你设置true的时候 echo $response;