怎么知道服务器支持php,如何让PHP能够读取系统环境变量?
一、fpm模式
1、通过服务器传递
如在nginx的配置里设置:
fastcgi_param ENV_XXX 123456;
每次页面请求nginx都会将此变量传递给php,php可以通过getenv函数或$_SERVER全局变量获得。
2、通过fpm配置传递
fpm在每次启动时都会读取php-fpm.conf文件中的环境变量设置,如:
env[ENV_XXX]="test test"
或者让fpm读取系统环境变量,如:
env[ENV_XXX]=$ENV_XXX
注意此种方式要确保系统环境变量存在,且不被sudo禁用。
如果fpm是用sudo方式启动,默认sudo会禁用一些环境变量,可以通过以下方式放开限制:
vim /etc/sudoers
Defaults env_reset
Defaults env_keep = "ENV_XXX"
或者干脆放开所有限制:
Defaults !env_reset
最后,如果修改了php-fpm.conf中的设置需要重启fpm才能生效,同样php可以通过getenv函数或$_SERVER全局变量获得环境变量。
二、命令行模式
命令行模式限制较少,可以通过getenv函数或$_SERVER全局变量获取对当前执行用户有效的系统环境变量,同样要注意sudo的限制。
如何查看服务器中已有数据库正在使用?
要查看服务器中已有的数据库正在使用的情况,您可以使用以下方法:
1. 使用命令行工具:打开命令行终端,输入以下命令:
```
MySQL -u 用户名 -p
```
然后输入密码登录到MySQL服务器。
2. 查看所有数据库:登录到MySQL服务器后,输入以下命令:
```
SHOW DATABASES;
```
这将显示服务器中所有的数据库列表。
3. 切换到特定数据库:输入以下命令切换到您想要查看的数据库:
```
USE 数据库名;
```
将“数据库名”替换为您要查看的数据库的名称。
4. 查看数据库中的表:输入以下命令查看数据库中的表:
```
SHOW TABLES;
```
这将显示所选数据库中的所有表的列表。
5. 查看表的详细信息:输入以下命令查看特定表的详细信息:
```
DESCRIBE 表名;
```
将“表名”替换为您要查看的表的名称。
请注意,这些命令是针对MySQL数据库的,如果您使用的是其他类型的数据库,如Oracle或SQL Server,您需要使用相应的命令和工具来查看数据库和表的信息。
Nginx能不能实现外网服务器访问内网服务器资源的功能?
当然可以。
Nginx是一款高性能的HTTP和反向代理服务器,具有内存占用小、高并发的特性。国内互联网大企业大多使用的就是Nginx,淘宝还基于Nginx开发了Tengine。Nginx的用途:1、反向代理
在LNMP这种架构模式下,其实就用到了反向代理。因为Nginx它默认只支持静态资源的请求,比如说PHP脚本也不是由Nginx直接解析的,而是由Nginx反向代理(通过 proxy_pass 指令)到PHP-FPM去解析的。
所以我们通常在Apache、Tomcat、IIS之前加上Nginx,由Nginx反向代理到后端服务器上。
2、负载均衡
当我们的站点访问量大时,为了缓解单一应用服务器的压力我们通常会扩容多台服务器,此时如何把流量分发给不同服务器呢?通过Nginx就可以实现负载均衡了,Nginx负载均衡策略也很多,主要有:RR(轮询)、weight(权重)、ip_hash(IP Hash)、fair(后端服务器响应时间)、url_hash(URL Hash)这几种。
3、动静分离
Nginx本身只支持静态资源的处理,借助Nginx我们可以实现动静分离,即:将静态请求交给Nginx处理,将动态请求通过转发给后端服务器。
4、Nginx扩展
通过Nginx扩展可以实现很多功能,如:
图片在线裁剪;
请求合并;
资源压缩等。
php是干什么用的?
PHP主要用来做网站开发,许多小型网站都用PHP开发,PHP是开源的,这是使得PHP经久不衰的原因。
在电商、社区等方面,PHP具备非常成熟的开源代码和模板,因此使得PHP应用极为广泛。
PHP可以完成任何CGI脚本可以完成的任务,但它的功能的发挥取决于它和各种数据库的兼容性。
php的特点:
PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。
PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比。
PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多。
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。
PHP支持几乎所有流行的数据库以及操作系统。
最重要的是PHP可以用C、C++进行程序的扩展!
PHP各个版本区别有哪些呢?
PHP5.2 以前:autoload,PDO和MySQLi,类型约束PHP5.2:JSON支持PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc和Nowdoc,const,三元运算符,PharPHP5.4:ShortOpenTag,数组简写形式,Traits,内置Web服务器,细节修改PHP5.5:yield,list()用于foreach,细节修改PHP5.6:常量增强,可变函数参数,命名空间增强PHP7.0.2Alpha 使用新版的ZendEngine引擎,带来了许多新的特性详细可以参考网页链接