• [技术干货] php switch 语句
    switch 语句用于根据多个不同条件执行不同动作。PHP Switch 语句如果您希望有选择地执行若干代码块之一,请使用 switch 语句。语法<?phpswitch (n){case label1:    如果 n=label1,此处代码将执行;    break;case label2:    如果 n=label2,此处代码将执行;    break;default:    如果 n 既不等于 label1 也不等于 label2,此处代码将执行;}?>工作原理:首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。实例<?php$favcolor="red";switch ($favcolor){case "red":    echo "你喜欢的颜色是红色!";    break;case "blue":    echo "你喜欢的颜色是蓝色!";    break;case "green":    echo "你喜欢的颜色是绿色!";    break;default:    echo "你喜欢的颜色不是 红, 蓝, 或绿色!";}?>
  • [技术干货] PHP If...Else 语句
    条件语句用于根据不同条件执行不同动作。PHP 条件语句当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。在 PHP 中,提供了下列条件语句:if 语句 - 在条件成立时执行代码if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块switch 语句 - 在若干条件之一成立时执行一个代码块PHP - if 语句if 语句用于仅当指定条件成立时执行代码。语法if (条件){    条件成立时要执行的代码;}如果当前时间小于 20,下面的实例将输出 "Have a good day!":实例<?php$t=date("H");if ($t<"20"){    echo "Have a good day!";}?>PHP - if...else 语句在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if....else 语句。语法if (条件){条件成立时执行的代码;}else{条件不成立时执行的代码;}如果当前时间小于 20,下面的实例将输出 "Have a good day!",否则输出 "Have a good night!":实例<?php$t=date("H");if ($t<"20"){    echo "Have a good day!";}else{    echo "Have a good night!";}?>PHP - if...elseif....else 语句在若干条件之一成立时执行一个代码块,请使用 if....elseif...else 语句。.语法if (条件){    if 条件成立时执行的代码;}elseif (条件){    elseif 条件成立时执行的代码;}else{    条件不成立时执行的代码;}如果当前时间小于 10,下面的实例将输出 "Have a good morning!",如果当前时间不小于 10 且小于 20,则输出 "Have a good day!",否则输出 "Have a good night!":实例<?php$t=date("H");if ($t<"10"){    echo "Have a good morning!";}elseif ($t<"20"){    echo "Have a good day!";}else{    echo "Have a good night!";}?>
  • [技术干货] php字符串变量
    PHP 中的字符串变量字符串变量用于包含有字符的值。在创建字符串之后,我们就可以对它进行操作了。您可以直接在函数中使用字符串,或者把它存储在变量中。在下面的实例中,我们创建一个名为 txt 的字符串变量,并赋值为 "Hello world!" 。然后我们输出 txt 变量的值:实例<?php$txt="Hello world!";echo $txt;?>lamp    注释:当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。现在,让我们来看看一些常用的操作字符串的函数和运算符。PHP 并置运算符在 PHP 中,只有一个字符串运算符。并置运算符 (.) 用于把两个字符串值连接起来。下面的实例演示了如何将两个字符串变量连接在一起:实例<?php$txt1="Hello world!";$txt2="What a nice day!";echo $txt1 . " " . $txt2;?>上面的代码将输出:Hello world! What a nice day!提示:在上面的代码中,我们已经使用了两次并置运算符。这是由于我们需要在两个字符串之间插入一个空格。PHP strlen() 函数有时知道字符串值的长度是很有用的。strlen() 函数返回字符串的长度(字节数)。下面的实例返回字符串 "Hello world!" 的长度:实例<?phpecho strlen("Hello world!");?>上面的代码将输出:12提示:strlen() 常常用在循环和其他函数中,因为那时确定字符串何时结束是很重要的。(例如,在循环中,我们需要在字符串中的最后一个字符之后结束循环。)PHP strpos() 函数strpos() 函数用于在字符串内查找一个字符或一段指定的文本。如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。下面的实例在字符串 "Hello world!" 中查找文本 "world":实例<?phpecho strpos("Hello world!","world");?>上面的代码将输出:6提示:在上面的实例中,字符串 "world" 的位置是 6。之所以是 6 而不是 7 的原因是,字符串中第一个字符的位置是 0,而不是 1。
  • [技术干货] php 常量
    常量值被定义后,在脚本的其他任何地方都不能被改变。PHP 常量常量是一个简单值的标识符。该值在脚本中不能改变。一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。注意: 常量在整个脚本中都可以使用。设置 PHP 常量设置常量,使用 define() 函数,函数语法如下:bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )该函数有三个参数:name:必选参数,常量名称,即标志符。value:必选参数,常量的值。case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。以下实例我们创建一个 区分大小写的常量, 常量值为 "欢迎访问 Runoob.com":实例<?php// 区分大小写的常量名define("GREETING", "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html");echo GREETING;    // 输出 "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html"echo '<br>';echo greeting;   // 输出 "greeting"?>以下实例我们创建一个 不区分大小写的常量, 常量值为 "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html":实例<?php// 不区分大小写的常量名define("GREETING", "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html", true);echo greeting;  // 输出 "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html"?>常量是全局的常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用。以下实例演示了在函数内使用常量,即便常量定义在函数外也可以正常使用常量。实例<?phpdefine("GREETING", "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html"); function myTest() {    echo GREETING;} myTest();    // 输出 "欢迎访问 https://bbs.huaweicloud.com/forum/forum-568-1.html"?>
  • [技术干货] php变量
    变量是用于存储信息的"容器":实例<?php$x=5;$y=6;$z=$x+$y;echo $z;?>与代数类似x=5y=6z=x+y在代数中,我们使用字母(如 x),并给它赋值(如 5)。从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。在 PHP 中,这些字母被称为变量。lamp    变量是用于存储数据的容器。PHP 变量与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。PHP 变量规则:变量以 $ 符号开始,后面跟着变量的名称变量名必须以字母或者下划线字符开始变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )变量名不能包含空格变量名是区分大小写的($y 和 $Y 是两个不同的变量)lamp    PHP 语句和 PHP 变量都是区分大小写的。创建(声明)PHP 变量PHP 没有声明变量的命令。变量在您第一次赋值给它的时候被创建:实例<?php$txt="Hello world!";$x=5;$y=10.5;?>在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5。注释:当您赋一个文本值给变量时,请在文本值两侧加上引号。PHP 是一门弱类型语言在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。PHP 变量作用域变量的作用域是脚本中变量可被引用/使用的部分。PHP 有四种不同的变量作用域:localglobalstaticparameter局部和全局作用域在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:实例<?php$x=5; // 全局变量function myTest(){    $y=10; // 局部变量    echo "<p>测试函数内变量:<p>";    echo "变量 x 为: $x";    echo "<br>";    echo "变量 y 为: $y";} myTest();echo "<p>测试函数外变量:<p>";echo "变量 x 为: $x";echo "<br>";echo "变量 y 为: $y";?>在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是局部变量。当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。然后我们在myTest()函数外输出两个变量的值,函数将会输出全局变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中定义,属于局部变量。Note    你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。PHP global 关键字global 关键字用于函数内访问全局变量。在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:实例<?php$x=5;$y=10; function myTest(){    global $x,$y;    $y=$x+$y;} myTest();echo $y; // 输出 15?>PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。上面的实例可以写成这样:实例<?php$x=5;$y=10; function myTest(){    $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];}  myTest();echo $y;?>Static 作用域当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。要做到这一点,请在您第一次声明变量时使用 static 关键字:实例<?phpfunction myTest(){    static $x=0;    echo $x;    $x++;    echo PHP_EOL;    // 换行符} myTest();myTest();myTest();?>然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。注释:该变量仍然是函数的局部变量。参数作用域参数是通过调用代码将值传递给函数的局部变量。参数是在参数列表中声明的,作为函数声明的一部分:实例<?phpfunction myTest($x){    echo $x;}myTest(5);?>
  • [技术干货] php类型比较
    虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。松散比较:使用两个等号 == 比较,只比较值,不比较类型。严格比较:用三个等号 === 比较,除了比较值,也比较类型。例如,"42" 是一个字符串而 42 是一个整数。FALSE 是一个布尔值而 "FALSE" 是一个字符串。实例<?phpif(42 == "42") {    echo '1、值相等';} echo PHP_EOL; // 换行符 if(42 === "42") {    echo '2、类型相等';} else {    echo '3、类型不相等';}?>以上实例输出结果为:1、值相等3、类型不相等PHP中 比较 0、false、null测试代码:实例<?phpecho '0 == false: ';var_dump(0 == false);echo '0 === false: ';var_dump(0 === false);echo PHP_EOL;echo '0 == null: ';var_dump(0 == null);echo '0 === null: ';var_dump(0 === null);echo PHP_EOL;echo 'false == null: ';var_dump(false == null);echo 'false === null: ';var_dump(false === null);echo PHP_EOL;echo '"0" == false: ';var_dump("0" == false);echo '"0" === false: ';var_dump("0" === false);echo PHP_EOL;echo '"0" == null: ';var_dump("0" == null);echo '"0" === null: ';var_dump("0" === null);echo PHP_EOL;echo '"" == false: ';var_dump("" == false);echo '"" === false: ';var_dump("" === false);echo PHP_EOL;echo '"" == null: ';var_dump("" == null);echo '"" === null: ';var_dump("" === null);以上实例输出结果为:0 == false: bool(true)0 === false: bool(false)0 == null: bool(true)0 === null: bool(false)false == null: bool(true)false === null: bool(false)"0" == false: bool(true)"0" === false: bool(false)"0" == null: bool(false)"0" === null: bool(false)"" == false: bool(true)"" === false: bool(false)"" == null: bool(true)"" === null: bool(false)
  • [技术干货] php5 数据类型
    PHP 字符串一个字符串是一串字符的序列,就像 "Hello world!"。你可以将任何文本放在单引号和双引号中:实例<?php $x = "Hello world!";echo $x;echo "<br>"; $x = 'Hello world!';echo $x;?>尝试一下 »PHP 整型整数是一个没有小数的数字。整数规则:整数必须至少有一个数字 (0-9)整数不能包含逗号或空格整数是没有小数点的整数可以是正数或负数整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。在以下实例中我们将测试不同的数字。PHP var_dump() 函数返回变量的数据类型和值:实例<?php $x = 5985;var_dump($x);echo "<br>"; $x = -345; // 负数 var_dump($x);echo "<br>"; $x = 0x8C; // 十六进制数var_dump($x);echo "<br>";$x = 047; // 八进制数var_dump($x);?>尝试一下 »PHP 浮点型浮点数是带小数部分的数字,或是指数形式。在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:实例<?php $x = 10.365;var_dump($x);echo "<br>"; $x = 2.4e3;var_dump($x);echo "<br>"; $x = 8E-5;var_dump($x);?>尝试一下 »PHP 布尔型布尔型可以是 TRUE 或 FALSE。$x=true;$y=false;布尔型通常用于条件判断。在接下来的章节中你会学到更多关于条件控制的教程。PHP 数组数组可以在一个变量中存储多个值。在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:实例<?php $cars=array("Volvo","BMW","Toyota");var_dump($cars);?>尝试一下 »在接下来的章节中你将学到更多关于数组的知识。PHP 对象对象数据类型也可以用于存储数据。在 PHP 中,对象必须声明。首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:实例<?phpclass Car{  var $color;  function __construct($color="green") {    $this->color = $color;  }  function what_color() {    return $this->color;  }}?>尝试一下 »以上实例中PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。你将会在接下来的章节中学会更多关于对象的知识。PHP NULL 值NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。可以通过设置变量值为 NULL 来清空变量数据:实例<?php$x="Hello world!";$x=null;var_dump($x);?>
  • [技术干货] 【安装指导】filegator安装指南(Nginx + php7 + filegator)
    1. ### 简介 FileGator 是一个免费、开源、自托管的 Web 应用程序,用于管理文件和文件夹。 您可以管理本地存储库文件夹中的文件(在您服务器的硬盘上)或连接到其他存储适配器。 FileGator 具有多用户支持,因此您可以让管理员和其他用户管理具有不同访问权限、角色和主文件夹的文件。 支持所有基本文件操作:复制、移动、重命名、编辑、创建、删除、预览、压缩、解压缩、下载、上传。 如果允许,用户可以一次下载多个文件或文件夹。 #### 环境说明: - 开发环境:php7.3.11 - web服务器:nginx - 操作系统:centos 7.6 2. ### 安装nginx ```bash #安装 yum install -y nginx #设置开机启动 systemctl enable nginx #启动 systemctl start nginx ``` 3. ### 源码安装php7(filegator要求php7以上版本) 1. #### 安装依赖 ```bash yum install -y bzip2 bzip2-devel bzip2 curl libcurl-devel libjpeg-devel libxml2-devel wget libpng libpng-devel openssl libopenssl-devel openssl-devel zip cmake3 ``` 2. #### 升级libzip(如果不安装导出exel将会出问题) ```bash #下载解压 wget https://libzip.org/download/libzip-1.7.3.tar.gz tar zxvf libzip-1.7.3.tar.gz cd libzip-1.7.3 #编译安装(8核服务器上编译) mkdir build && cd build cmake3 .. make -j8 make install ``` 3. #### 将libzip库加入系统 ```bash #修改文件 vi /etc/ld.so.conf #文件末尾增加以下内容 /usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64 #执行以下命令更新 ldconfig ``` 4. #### 安装php及相关插件 ```bash #下载源码并解压 wget https://mirrors.sohu.com/php/php-7.3.11.tar.gz tar zxvf php-7.3.11.tar.gz cd php-7.3.11 #预编译 #必选编译选项: #--enable-fpm --enable-pdo #--with-zlib --enable-zip ############################ ./configure --disable-fileinfo --prefix=/usr/local/php7 --enable-fpm --enable-mbstring --enable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --with-pcre-regex --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli --with-gd --with-jpeg-dir --with-openssl --with-zlib --enable-zip #编译安装 make -j8 make install #环境变量 echo "export PATH=/usr/local/php7/bin:/usr/local/php7/sbin:\$PATH" >> /etc/profile source /etc/profile #查看php版本信息 php --version ``` ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202109/07/1551578wlhky5bu7finbtd.png) 5. #### 将php-fpm服务加入系统 ```bash #新建文件php-fpm.service vi /usr/lib/systemd/system/php-fpm.service #加入以下内容 [Unit] Description=The PHP FastCGI Process Manager After=syslog.target network.target [Service] Type=forking ExecStart=/usr/local/php7/sbin/php-fpm PrivateTmp=true [Install] WantedBy=multi-user.target ``` 4. ### 测试nginx和php 1. #### 新建nginx虚拟目录配置文件:vi /etc/nginx/conf.d/test-lnmpr.conf ```bash server { listen 8080; server_name localhost; charset UTF-8; location / { root /var/webroot; index index.php index.html index.htm; } location ~ \.php$ { root /var/webroot; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/webroot/$fastcgi_script_name; include fastcgi_params; } } ``` 2. #### 新建php测试文件 ```bash #创建目录 mkdir /var/webroot/index.php #增加该文件 vi /var/webroot/index.php #加入以下内容 phpinfo(); ``` 3. 重新启动nginx和启动php-fpm ```bash systemctl restart nginx systemctl start php-fpm ``` 4. 访问http://${ip}:8080 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202109/07/155230kbtnee0zn7x8pqib.png) 5. ### 安装filegator 1. #### 下载源码 ```bash #安装依赖 yum install php-json #创建目录 mkdir -p /var/www/ cd /var/www/ #下载源码并解压至masterlab目录 wget -c https://raw.githubusercontent.com/filegator/static/master/builds/filegator_latest.zip -O filegator_latest.zip unzip filegator_latest.zip #修改所属组 chown -R nobody:nobody /var/www #修改权限 chmod -R 775 /var/www/filegator/ chmod -R 777 /var/www/filegator/private chmod -R 777 /var/www/filegator/repository #修改配置 mv /var/www/filegator/configuration_sample.php /var/www/filegator/configuration.php ``` 2. #### 新增配置文件 filegator.conf ```bash vi /etc/nginx/conf.d/filegator.conf server { listen 8080; server_name localhost; charset UTF-8; location / { root /var/www/filegator; index index.php index.html index.htm; } location ~ \.php$ { root /var/www/filegator; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/filegator/$fastcgi_script_name; include fastcgi_params; } } ``` 3. 重新启动nginx和php-fpm ```bash systemctl restart nginx systemctl restart php-fpm ``` 6. ### 安装与配置 - #### 浏览器输入${ip}:${port} ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202109/07/155507cxub6ifuigxtqfyz.png)
  • [技术干货] php如何删除关联数组中的键值
    1、使用unset()函数可以用于取消设置关联数组中的键及其值。// 声明关联数组$arr = array(    "1" => "加",    "2" => "减",    "3" => "乘",    "4" => "除");// 关联数组中删除键1及其值unset($arr['1']);// 显示数组元素var_dump($arr);2、使用array_diff_key()函数用于获取一个或多个数组之间的差集。此函数比较一个或多个数组之间的键并返回它们之间的差集。// 声明关联数组$arr = array(    "1" => "春",    "2" => "夏",    "3" => "秋",    "4" => "冬",);// 从关联数组中删除键1及其值$result = array_diff_key($arr,    array_flip((array) ['1']));// 显示数组元素var_dump($result);内容扩展:函数介绍array_values() 函数返回包含数组中所有的值的数组。注意:被返回的数组将使用数值键,从 0 开始且以 1 递增。语法array_values(array)参数说明array 必需。规定数组。代码实现:$arr = array('key1'=>'value1','key2'=>'value2','key3'=>'value3');$arr2 = array_values($arr);print_r($arr2);?>
  • [热门活动] 活动已结束,获奖名单已公布【对话2021 HC】限时抢0元代金券 · 学鲲鹏干货,考证书还可赢海量码豆和京东卡
    备注:同一实名下多个账号参与活动的,我们随机以其中一个账号为准,其他账号自动视为参与无效,请知!          同一个实名认证下的账号如果已经考取过,其他账号再次考取自动视为参与无效,请知!序号昵称考证数量所得码豆 序号昵称考证数量所得码豆1hw6205645351000029tangd158415252120002shao111251000030td13009201335120003sijiusijiuling51000031wangshuang188120004snowofsummer51000032wangyingzhen120005tanboss323251000033wangyingzhenjd120006yaoeightsixsix51000034wolfandy120007禄仁恝51000035ws15041591187120008hw99966651000036ws1835819793120009Hello Digger4800037wuxiaotian1200010yaoyao154800038yuzhiwei1200011王亦臻4800039yzq189415961811200012iolink10023600040zhanggky1200013Solo丶鲲鹏3600041zhangxinbo11200014陪姐3600042ziyuw1301200015cftang2400043ziyuwei1200016Jack202400044阿弥陀佛1200017wuyicom2400045昶谕1200018真爱无敌2400046郭奎勇1200019chengjiaxin1400047丽莎公主的爸比1200020anjianjuguo1200048去休1200021Archive1200049十年树木1200022fujinyongsuning1200050帅气的我1200023guoky18941591200051王爽爽1200024jinkongtangdan1200052仙女本仙1200025jkzxtangdan1200053杨洋得意1200026lizipeng1200054这个地方是昵称1200027mingtingting1200055訾玉伟1200028sunyanan1200056xiaoxiaoni1200058liuzhipeng1200057huangye12000序号昵称邀请考证数量所得码豆1帅气的我8160002陪姐360003nukinsan120004abcabc12000 活动环节简述 1)9月9日-9月16日间,可领代金券,0元购买微认证,限量240张,先抢先得2)每考1门微认证,即得2000码豆,还可抽奖50元京东卡(超高中奖概率)3)每邀请好友考1门证书,即得2000码豆 领代金券,0元购买微认证 1)报名期:9月1日-9月8日,需要领取代金券的用户,请扫码进群报名。2)领券期:9月9日-9月16日,可领取代金券,限量240张,先抢先得。3)代金券的有效使用期:9月9日-9月16日。(领取代金券后请尽快购买微认证,购买后请在活动时间内考取证书)微认证代金券金额/元代金券数量/张购买链接openGauss数据库在金融领域的使用实践3840点击购买并考证iSula容器解决方案介绍与实践2840点击购买并考证Compass-CI全栈式测试解决方案介绍与实践3840点击购买并考证基于A-Tune优化引擎的智能调优2840点击购买并考证揭秘鲲鹏处理器3840点击购买并考证鲲鹏计算平台软件移植初体验3840点击购买并考证代金券使用规则1)有效期:代金券存在有效期。若代金券还未到生效日期,请耐心等待代金券生效后再使用。若代金券已过期,则无法再使用;2)数量限制:1次支付只能用1张代金券,不支持多次使用;3)转赠规则:不可转赠。【操作指引】华为云微认证购买流程指引(使用代金券)》》点击查看【学习指引】华为云微认证使用流程指南 》》点击查看 微认证限时3折优惠 微认证购买链接限时3折优惠:鲲鹏加速库原理及应用体验点击购买并考证限时3折优惠:基于BoostKit的大数据性能调优实践点击购买并考证限时3折优惠:基于BoostKit的MySQL性能优化点击购买并考证限时3折优惠:基于BoostKit的虚拟化部署和调优实践点击购买并考证限时3折优惠:鲲鹏云服务搭建BCManager存储灾备系统点击购买并考证限时3折优惠:基于鲲鹏搭建zabbix分布式监控系统点击购买并考证限时3折优惠:通过鲲鹏ECS搭建免费个人书库点击购买并考证限时3折优惠:华为云鲲鹏弹性云服务器高可用性架构实践点击购买并考证限时3折优惠:基于鲲鹏架构的Redis搭建高性能网盘点击购买并考证 考微认证,赢码豆、抽京东卡 1)活动期间内,任选以上表格中的微认证,购买后考取证书并按要求回帖,即可获得2000码豆;成功考取多张证书,可累计获得相应码豆;回帖格式:华为云账号+证书名称+证书编号+证书截图,截图中必须显示证书有效期至、姓名、证书编号;(回帖已设为仅作者可见)2)按格式考证回帖的用户,可额外获得抽奖京东卡的机会,抽奖京东卡的张数=成功考取证书的总张数x30%,每张证书被抽中的概率为30%,同一位用户可以抽取多张京东卡;3)考取的微认证必须为首次考取才有效,同一个实名认证下的账号如果已经考取过,其他小号再次考取一律不予发奖。 邀请好友考微认证,赢码豆 1)活动期间内,每邀请好友考一个微认证,即可得2000码豆;2)好友回帖格式:XX邀请我+华为云账号+微认证证书截图+证书编号,截图中必须显示姓名、证书有效期至和证书编号,(XX为邀请者昵称) 活动奖品  什么是码豆?会员中心入口:https://devcloud.huaweicloud.com/bonususer/home 码豆奖励活动规则:1)码豆可在码豆会员中心兑换实物礼品;2)码豆只能用于会员中心的礼品兑换,不得转让,具体规则请到会员中心阅读“码豆规则”;3)为保证码豆成功发放,如果修改过账号名还请向工作人员提供修改前后的账号名。  活动时间 9月1日—9月30日 活动规则 1)只有体验以上列表中的微认证,且在本次活动时间内考证,才可参与本次活动;2)请务必使用个人账号参与活动(IAM、企业账号等账号参与无效);3)所有获得华为奖项的获奖用户,请于获奖后3日内完成实名认证,否则视为放弃奖励;4)本次活动如一个实名认证对应多个账号,只有一个账号可领取奖励;一个实名认证账号只能对应一个收件人,如同一账号填写多个不同收件人或不同账号填写同一收件人,均不予发放奖励;5)为保证您顺利领取活动奖品,请您提前填写奖品收货信息,如您没有填写,视为放弃奖励【点击此处填写信息】。活动获奖信息填写时间截止2021年10月9日,如未填写视为弃奖,请知;6)本次活动,码豆预计于2021年10月22前完成发放,京东卡预计于2021年11月30日前完成发放,发放时间根据实际情况动态调整,如有延期敬请见谅;7)本次活动幸运奖将采用巨公摇号平台(https://www.jugong.wang/random-portal/)进行抽取,如您对评奖方式有异议,请勿参加本次活动;8)其他事宜请参考【鲲鹏论坛活动规则】,本活动最终解释权归华为云所有。>>>点击参与HC趣味闯关活动,赢华为手机等海量好礼!<<<
  • [热门活动] (已结束)【低代码应用开发最佳实践】-分享任务规则&amp;奖励
    分享活动名单公示第一次名单公示时间:8月27日9:00(已公示)第二次名单公示时间:9月8日9:00(已公示)最终名单公示时间:9月22日(已公示)《低代码应用开发最佳实践》分享活动最终名单公示序号华为云账号分享次数瓜分注:活动结束时间为9月18日满足瓜分20万码豆奖励池共39人,每人瓜分到5128个码豆。码豆会在15个工作日内完成发放。1cousnecs25128码豆2a56585582925128码豆3ccdgda25128码豆4fengfeier625128码豆5franco5257625128码豆6hw5726986325128码豆7hw8474075125128码豆8jianyun202025128码豆9maoning201925128码豆10ad12344525128码豆11Archive25128码豆12csdn_zeke25128码豆13hid_vhci9zhurbg8mzi25128码豆14holoyh25128码豆15hw_008614740173172_0125128码豆16hw_008618037113570_0125128码豆17hw_008618256536408_0125128码豆18hw04389065725128码豆19hw1072544625128码豆20hw318503634325128码豆21hw3890704025128码豆22hw4642513425128码豆23hw5046848125128码豆24hw6900365225128码豆25hw7202302525128码豆26hw7213081025128码豆27hw9461865125128码豆28JaneConan25128码豆29khg30538754325128码豆30koshikin25128码豆31lhw79459023-25128码豆32lusheng323325128码豆33lyzml199125128码豆34power1125128码豆35qiushu202025128码豆36suncker25128码豆37sunshine_huawei25128码豆38vipons25128码豆39whw43454189_25128码豆40hw227015891/41inspur_wll1/42lihao34535848941/分享任务规则&奖励: 活动时间:2021年08月18日-2021年9月18日点击返回活动页>>> 规则:分享《低代码应用开发最佳实践》活动海报瓜分20万码豆:每人最低分享2次活动即可享受当期码豆池奖励瓜分(例如:当期活动结束后有50人满足分享活动要求,20万码豆/50人=每人平均可瓜分到4000码豆)8月27日、9月8日、9月22日会分别在本帖内公示一次满足瓜分码豆名单,届时敬请关注相关信息。活动结束后5个工作日内公示最终瓜分名单及码豆奖励,15个工作日内发放码豆奖励;由于用户自身原因包括但不限于提供的华为云账号信息有误造成码豆无法发送的,视为获奖用户放弃奖励。 码豆有什么用?码豆可用于兑换码豆会员中心精美实物/虚拟礼品 第一步: 分享以下海报或文案+海报至朋友圈或100人以上技术群(微信、QQ、钉钉不限)。(注:如分享朋友圈需满1小时后截图)。 第二步: 分享完成后截图,复制打开链接https://www.wjx.cn/vj/ORJE5Su.aspx 上传分享截图,符合要求的截图即可算作分享成功1次;分享文案1(可选):我正在参与华为云《低代码应用开发最佳实践》, 丰富资产模板,“拖、拉、拽”式构建应用,所见即所得的快速应用开发和构建,参与赢好礼!分享文案2(可选):我正在参与华为云《低代码应用开发最佳实践》,由浅入深,轻松玩转低代码应用开发,积木式搭建应用效率提升10+倍,加速业务敏捷创新,参与赢好礼!分享海报:长按保存下方海报至手机
  • [问题求助] php sdk报如下错误
  • [获奖公告] 【码豆已发放】【打卡1天】RPA训练营打卡1天开发者名单公示
    各位开发者好,以下为最终统计的完成1天打卡开发者名单(也可下载附件查看)公示期:7月22日-7月27日码豆已发放,每人500码豆,请各位开发者去会员中心查看。https://devcloud.huaweicloud.com/bonususer/home/converge以下用户可能因改过华为云账号,导致发放失败,请于8月4日前联系群内小助手解决,逾期视作放弃哦,谢谢Leroy26傲曳人都怪好看长腿企鹅苏打气泡水奖励说明:我们会在公示期结束后对所有完成1天打卡用户进行奖励。(必须完成第1天打卡)奖品每人500码豆,发放上限20w码豆,前400人将会得到奖励。为了确保您顺利获得码豆,请先点击下方链接登录一次会员中心。https://devcloud.huaweicloud.com/bonususer/home/converge问题反馈说明:因本次活动部分开发者没有按照要求的格式打卡或者中途改过账号/昵称,所以有可能有遗漏,如有问题请开发者先不要激动,请联系群内小助手核实,超过公示期不再进行名单修改。望周知!!!小助手二维码:完成1天打卡名单(必须完成第1天打卡)昵称滴滴12138khg305387543Epoch.永恒的传说小航kiosko加油O幸福xltv哈哈哈菜呢kricoladu鸿琉米光量子Jack20雨幕杏仁yue石榴楠黄伟欢测试人员001cnfox0273是慢慢啊北冰洋.xiaobin8325咚咚咚咚咚咚caibyanyd_213994579是77呀!Sogoodeholo.yhlevi_viDevFeng叶辉sumingweb邓亮jill.mapan王者不在RPA学习交流感到MxA小灰灰1314hw0224张辉小小啦啦crazy_ljy是安可啊湬黍丧心病狂的雷克斯大人Olim1026笨笨2020蓝色橡树BK07idbaf_大掌柜yangfei91轩-x考过IE励志当攻城狮vlean01好久没出门yd_216885343喜悦温暖平静xssl0518没想好叫什么那李熙然yd_251873816繁依FanyiZootopiahw53863158yxshuibizi丹丹周多米诺的古牌zhangbo风路01谢家三少zekeloveGodLIke小影的旅途cupidhwmr0ya1_HUCHIAhhhhhF.T.Dwakaka_huawei随便到无语Bosx腾腾腾飞H、yd_278050186bluua1ALLEN-ZAniaArchive胜林hw58720111老码农mufengyaKatharine_X柚子皮啊likuannatieburg魔芋结阿弥陀佛KarryCould千江有水千江月hw43624871jinghenghengSdll黄狗狗真蒸汽鸿钧三清CarinaM壹贰叁martinzhuwangzunValenCheng胡琦lyz0699清风2打卡作业 Eon.gavinhall小小2018傻徒弟哦Mietteinhuawei禄仁恝lwq1228boxulinxuejiaHealsko慵懒ftbjlhappy00huangwt2010zxcjyd_77520685yd_219973012ypmilyLeon廖梦浩Jun昭小NNHelmondM_Taoboyce什么名字gerayhunkarcyongHello Diggeryd_290241179stylitewalkwiki打卡,学习Noipmahcfanny1210李子木蜡笔不辣吃的TenTwogltzglalan97zhaolann云中新秀HB1688ss_1122BCSmart腾foreverlightmocmocjxy小馨leilei123hw21591385Richard_zhangjianklompenlzqzmtsuiw7k神雷神VeryYoung孙小北赞赞赞赞赞%%yd_272618976anselmiao若无心迷糊zhoujiesesG-washingtonctabaabbzz爹Neil_Z打卡day1user_beifengJaneConanJk.Theseus阿媛yywuyicom魔芋666尛马kokolinpenguin_xiacyber-pix杨中敏Ethin傲曳人路人甲乙长腿企鹅专念阿弥陀佛小小火都怪好看wei生道wolfandy星斗苍凉bahoo陈家老五lu_zhishenLynnWangnukinsano0龙龙0odetaarray_linseewo小鲜wujiejieRayel路明军yujingv龙腾虎跃12138Nemo Nobody打哈哈hw47716223Lorna Houyd_259650523John2021Robin唔系肉饼Bryce_lxgeyeeUFO2021RPA_Zoe宛若溪流风火轮晴空1Leroy26zilongVian_1109快乐的苹果KenLiang荠菜L606有闲王员外sam2020tt动力推动咚咚锵nszb85200515Lychi清吾zzsfreedomzzp0617秦武亮0太过极端roger.lin望尽天涯路蓝瘦的蜕变hid_briem62bqmfdx9t超人1carl peng頭文字Cwebclubcode edgewwwinston风晴月resoundMingzyxucp醉卧独钓wayneleewang黄生花溪HouzRabbitCloud不会写代码的开发jikyousmilepkoray布拉没有格lihuan2008a苏打气泡水yzxcode edge
  • [技术干货] 使用鲲鹏GCC编译PHP 7.4.20过程参考【鲲鹏920】
    1、创建鲲鹏gcc部署路径mkdir -p /opt/aarch64/compiler2、获取鲲鹏gcc cd /opt/aarch64/compilerwget https://mirror.iscas.ac.cn/kunpeng/archive/compiler/kunpeng_gcc/gcc-9.3.1-2021.03-aarch64-linux.tar.gz3、解鲲鹏gcctar -xf gcc-9.3.1-2021.03-aarch64-linux.tar.gz4、编辑/etc/profile文件,将鲲鹏gcc配置到环境变量(文件最后追加)export PATH=/opt/aarch64/compiler/gcc-9.3.1-2021.03-aarch64-linux/bin:$PATHexport INCLUDE=/opt/aarch64/compiler/gcc-9.3.1-2021.03-aarch64-linux/include:$INCLUDEexport LD_LIBRARY_PATH=/opt/aarch64/compiler/gcc-9.3.1-2021.03-aarch64-linux/lib64:$LD_LIBRARY_PATH5、同步环境变量source /etc/profile6、查看gcc版本gcc -v结果返回9.3.1版本6、获取php 7.4.20源码cd /home/wget https://www.php.net/distributions/php-7.4.20.tar.gz7、解压php 7.4.20源码tar -xf php-7.4.20.tar.gz8、进入php 7.4.20源码解压路径并执行./configurecd php-7.4.20./configure--prefix=/usr/local/php-7.4.209、执行make编译make -j 96 && make install10、查看php版本php -v注:PHP 7.4.20编译需要使用gcc 7.3.0及以上版本,编译前请确保gcc版本满足要求(低版本gcc编译会报asm相关错误,报错相关信息为invalid 'asm': invalid operand prefix '%c')。
  • [技术干货] PHP 请求上下文相关总结
    我们首先来了解下什么是上下文。在我们写文章,写句子时,都会考虑一个观点或者内容的前后逻辑,转承启合,而在这个观点前后的内容就可以看成是它的上下文内容。它包含了语境的意味在里面,其实代码世界中的上下文也是一样的意思,本身 Context 这个单词就是环境、背景的意思。接下来,我们来说说请求上下文又是什么呢?比如说我们要使用PHP来请求一个链接地址,通常我们会使用 curl 来进行请求,但是 curl 的配置其实是比较复杂的,所以我们在简单使用的情况下会使用 file_get_contents() 这种函数来快捷地请求链接。不过,可能很多人并不知道或者说没怎么使用过它的上下文参数。其实,使用了上下文参数之后,file_get_contents() 不仅可以提交 POST 请求,还可以定义各种请求头内容。这些东西,就是一个请求的上下文,也就是它的执行环境和背景。首先,我们定义一个服务端,在这里只是输出 \_GET 和 和_POST 里面的内容。同时,我们还打印了 $_SERVER 来看看请求头是否获取到了。123456789101112print_r($_SERVER); echo 'GET INFO', PHP_EOL;foreach ($_GET as $k => $v) {    echo $k, ': ', $v, PHP_EOL;} echo PHP_EOL,PHP_EOL;echo 'POST INFO', PHP_EOL;foreach ($_POST as $k => $v) {    echo $k, ': ', $v, PHP_EOL;}接下来,在我们的测试代码中,使用 file_get_contents() 来进行 POST 提交。12345678910111213141516171819$postdata = http_build_query(    [        'var1' => 'some content',        'var2' => 'doh',    ]); $opts = [    'http' => [        'method' => 'POST',        'header' => 'Content-type: application/x-www-form-urlencoded',        'content' => $postdata,    ],]; $context = stream_context_create($opts);$result = file_get_contents('http://localhost:8088/?a=1', false, $context);print_r($result);var_dump($http_response_header);在这里,我们只是用到了 stream_context_create() ,就能够轻松地创建一个请求的上下文环境了。stream_context_create() 是创建上下文环境的函数,它接收的参数是一个选项数组,里面用于定义当前请求的相关选项。注意,我们这里其实定义的是 http/https 相关的选项,它还可以定义 ftp 、 socket 等相关的请求协议选项。在使用 file_get_contents() 函数请求远程地址后,我们可以在 $http_response_header 变量内获取到请求返回的响应头信息。而且这个变量是会定义在当前的局部作用域下,不用担心全局作用域污染的问题。非常简单的方式就可以实现 POST 请求了吧,另外我们还可以使用 fopen() 函数来实现类似的效果,不过获取 body 和响应应信息时的方式就不同了。12345678910111213141516171819$url = "http://localhost:8088/?a=1"; $opts = [    'http' => [        'method' => 'GET',        'max_redirects' => '0',        'ignore_errors' => '1',    ],]; $context = stream_context_create($opts);$stream = fopen($url, 'r', false, $context); // 返回响应头var_dump(stream_get_meta_data($stream)); // 返回内容var_dump(stream_get_contents($stream));fclose($stream);在这段代码中,我们使用 stream_get_meta_data() 函数来获得响应头,使用 stream_get_contents() 来获得响应的内容(body)。这样其实就真的和 curl 的效果差不多了,而且最主要的是,当前这种写法更简单方便。