GVKun编程网logo

php8: 安装yac(yac 2.3.2-dev / php 8.1.1)(php8.0安装)

20

本文将带您了解关于php8:安装yac(yac2.3.2-dev/php8.1.1)的新内容,同时我们还将为您解释php8.0安装的相关知识,另外,我们还将为您提供关于CENTOSphp7.0+ngi

本文将带您了解关于php8: 安装yac(yac 2.3.2-dev / php 8.1.1)的新内容,同时我们还将为您解释php8.0安装的相关知识,另外,我们还将为您提供关于CENTOS php 7.0 +nginx 环境下 安装yaf框架、Docker安装php安装yaf扩展、macos+apache+php+phpmyadmin 的整合过程梳理、macos+apache+php+phpmyadmin 的整合过程梳理_PHP教程的实用信息。

本文目录一览:

php8: 安装yac(yac 2.3.2-dev / php 8.1.1)(php8.0安装)

php8: 安装yac(yac 2.3.2-dev / php 8.1.1)(php8.0安装)

一,关于yac项目:

1,代码地址
https://github.com/laruence/yac
2,鸟哥博客上的介绍:
https://www.laruence.com/tag/yac

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

         对应的源码可以访问这里获取: https://github.com/liuhongdi/
         或: https://gitee.com/liuhongdi

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,下载yac源码:

root@lhdpc:/usr/local/source# git clone https://github.com/laruence/yac
正克隆到 'yac'...
remote: Enumerating objects: 1339, done.
remote: Counting objects: 100% (296/296), done.
remote: Compressing objects: 100% (192/192), done.
remote: Total 1339 (delta 185), reused 186 (delta 96), pack-reused 1043
接收对象中: 100% (1339/1339), 274.73 KiB | 910.00 KiB/s, 完成.
处理 delta 中: 100% (792/792), 完成.

说明:如果没安装git可以用 apt-get install git 安装git命令

三,安装yac

1,生成configure
root@lhdpc:/usr/local/source# cd yac/
root@lhdpc:/usr/local/source/yac# /usr/local/soft/PHP8/bin/PHPize
Configuring for:
PHP Api Version:         20210902
Zend Module Api No:      20210902
Zend Extension Api No:   420210902 
2,配置
root@lhdpc:/usr/local/source/yac# ./configure --with-PHP-config=/usr/local/soft/PHP8/bin/PHP-config 
3,安装:
root@lhdpc:/usr/local/source/yac# make && make install
…
Installing shared extensions:     /usr/local/soft/PHP8/lib/PHP/extensions/no-debug-non-zts-20210902/
4,修改PHP配置使生效:
root@lhdpc:/usr/local/source/yac# cd /usr/local/soft/PHP8/etc/
root@lhdpc:/usr/local/soft/PHP8/etc# vi PHP.ini 
添加以下两行
extension_dir =  /usr/local/soft/PHP8/lib/PHP/extensions/no-debug-non-zts-20210902/
extension = yac.so

四,查看效果

1,重启PHP-fpm服务
root@lhdpc:/usr/local/soft/PHP8/etc# systemctl restart PHP-fpm.service 
2,查看PHPinfo:

五,测试yac的应用

1,编写代码: setcache.PHP
<?PHP
        $yac = new Yac("goods");
        $yac->add('a', 'value a');
        $yac->add('b', [1,2,3,4]);
        echo "set end<br/>";
getcache.PHP
<?PHP
$yac = new Yac("goods");
echo $yac->get('a')."<br/>"; // value a
echo $yac->a."<br/>"; // value a
print_r($yac->get('b'));
2,测试: 写入:

读取

 

六,查看PHP的版本:

root@lhdpc:~# PHP --version
PHP 8.1.1 (cli) (built: Dec 20 2021 16:12:16) (NTS)
copyright (c) The PHP Group
Zend Engine v4.1.1, copyright (c) Zend Technologies
    with Zend OPcache v8.1.1, copyright (c), by Zend Technologies

CENTOS php 7.0 +nginx 环境下 安装yaf框架

CENTOS php 7.0 +nginx 环境下 安装yaf框架

#PHP-v
PHP7.0.19(cli)(built:May12201721:01:27)(NTS)
copyright(c)1997-2017ThePHPGroup
ZendEnginev3.0.0,copyright(c)1998-2017ZendTechnologies
#Nginx-v
Nginxversion:Nginx/1.12.0
CentOSLinuxrelease7.2.1511(Core)

本文前提是已搭建好PHP7.0+Nginx 环境.

1、首先下载yaf源码包,去http://pecl.php.net/package/yaf,下载,3.0.2以上需要php7.0以上。

我们用一下命令下载3.0.4稳定版的源码包

wgtehttp://pecl.PHP.net/get/yaf-3.0.4.tgz

2、解压缩

tar-xvfyaf-3.0.4.tgz

3、安装PHP-devel扩展包.安装7.0所需的PHP-devel。默认yum install PHP-devel 的话对应的PHP版本是5.3.这也是7.0的一个不同。

yuminstallPHP70w-devel

4、进入yaf安装目录

PHPize
./coufigure
make
makeinstall

这里会出现一些问题,比如缺少C编译器等,可以自行搜索解决。

5、配置PHP.ini。在PHP.ini中加入下面这句

extension=yaf.so;

6、PHP -m查看有没有yaf框架。

7、重启PHP-fpm

service PHP-fpm restart。

至此yaf框架就安装完成。


接下来我们就可以使用代码生成工具生成一个yaf demo了。

1、来https://github.com/laruence/yaf下载zip压缩包,传到我们的服务器上。

2、进入 yaf目录 tools/cg

3、然后/usr/local/PHP/bin/PHPyaf_cg sample。sample就是我们生成的application的名字.

4、把sample文件夹放到Nginx网站根目录下

/data/www/sample

5、访问locahost/sample

出现

Hello World! I am Stranger

成功!



参考

:https://stackoverflow.com/questions/12325109/cant-install-php-devel-on-centos

http://www.th7.cn/Program/php/201507/507424.shtml

http://www.cnblogs.com/tomkissing/p/6250530.html

http://www.cnblogs.com/findgor/p/4086502.html

Docker安装php安装yaf扩展

Docker安装php安装yaf扩展

Dockerfile文件内容:

# 从官方基础版本构建
FROM php:7.3.7-fpm
# 官方版本默认安装扩展:
# Core, ctype, curl
# date, dom
# fileinfo, filter, ftp
# hash
# iconv
# json
# libxml
# mbstring, mysqlnd
# openssl
# pcre, PDO, pdo_sqlite, Phar, posix
# readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard
# tokenizer
# xml, xmlreader, xmlwriter
# zlib
# 更新为国内镜像
COPY zhongkeda.list /etc/apt/sources.list
RUN  apt-get update
# bcmath, calendar, exif, gettext, sockets, dba,
# mysqli, pcntl, pdo_mysql, shmop, sysvmsg, sysvsem, sysvshm 扩展
RUN docker-php-ext-install -j$(nproc) bcmath calendar exif gettext sockets dba mysqli pcntl pdo_mysql shmop sysvmsg sysvsem sysvshm iconv
# GD 扩展
RUN apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
    && rm -r /var/lib/apt/lists/* \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd
# redis 扩展
RUN pecl install redis-5.0.0 && docker-php-ext-enable redis
# opcache 扩展
RUN docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache
# xdebug 扩展
RUN pecl install xdebug-2.7.2 && docker-php-ext-enable xdebug
# swoole 扩展
RUN pecl install swoole-4.4.0 && docker-php-ext-enable swoole
# yaf 扩展
RUN pecl install yaf-3.0.8 && docker-php-ext-enable yaf
# 镜像信息
LABEL Author="Stone"
LABEL Version="2019.7"
LABEL Description="PHP 7.3.7 开发环境镜像."

zhongkeda.list文件内容:

deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb-src http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free
deb-src http://mirrors.ustc.edu.cn/debian stable-proposed-updates main contrib non-free

启动

docker build -t php73 .
//启动一次
docker run --name php73 -d \
    -v /data/code:/data/code \
    -v /data/soft/lnmp/php73/etc:/usr/local/etc \
    -p 9000:9000 \
    php73
//把php配置文件复制出来
docker cp php73:/usr/local/etc /data/soft/lnmp/php73/etc
// /data/code/ 代码目录 /data/soft/lnmp/php73/etc php配置文件目录
docker run --name php73 -d \
    -v /data/code:/data/code \
    -v /data/soft/lnmp/php73/etc:/usr/local/etc \
    -p 9000:9000 \
    php73

macos+apache+php+phpmyadmin 的整合过程梳理

macos+apache+php+phpmyadmin 的整合过程梳理

启动Apache

有两种方法:

如此在浏览器中输入“http://localhost”,就可以看到一个内容为“It works!”的页面,其位于“/Library(资源库)/WebServer/Documents/”下,这就是Apache的默认根目录。

运行PHP

安装MySQL

Mac OS X没有内置MySQL,所以需要自己手动安装,目前MySQL的最稳定版本是5.5。MySQL提供了Mac OS X下的安装说明。

注意:Mac OS X的升级或其他原因可能会导致MySQL启动或开机自动运行时,在MySQL操作面板上会提示“Warning:The /usr/local/mysql/data directory is not owned by the ''mysql'' or ''_mysql'' ”,这应该是某种情况下导致/usr/local/mysql/data的宿主发生了改变,只需要运行“sudo chown -R mysql /usr/local/mysql/data”即可。

另外,使用PHP连接MySQL可能会报错“Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’”,或使用localhost无法连接MySQL而需要127.0.0.1,原因是连接时php默认去找/var/mysql/mysql.sock了,但MAC版的MYSQL改动了文件位置,放在/tmp下了。处理办法是按如下修改php.ini:

立即学习“PHP免费学习笔记(深入)”;

mysql.default_socket = /tmp/mysql.sock<br />
登录后复制

使用phpMyAdmin

phpMyAdmin是用PHP开发的管理MySQL的程序,非常的流行和实用。能够使用phpMyAdmin管理MySQL是检验前面几步效果的非常有效方式。这个主要是在最近研究的phpcms中才开始应用的,步骤如下:

<br /><br /><span><span <strong>关于错误处理:</strong></span><br /></span>
登录后复制

解决

登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

将config.sample.inc.php复制成config.inc.php

登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
出现这个错误,表示没有连接到数据库。修改config.inc.php文件,
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
将$cfg[''Servers''][$i][''host''] = ''localhost'';
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
改为$cfg[''Servers''][$i][''host''] = ''127.0.0.1'';
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

--------------------------------------------------

或者修改 php.ini : mysql.default_socket = /tmp/mysql.sock

 

#1045 无法登录 MySQL 服务器Access denied for user ‘root’@''localhost’ (using password: YES)

问题原因:这有可能是由于前面设置mysql密码没有成功,所以导致了我们使用设置的mysql root密码无法登陆服务器。

解决方法:这时可以尝试使用mysql 默认的root账号的空密码登陆数据库。

如果使用空密码登陆时又出现: 的错误。则要修改/phpmyadmin/config.inc.php 文件,找到下面两行

$cfg[''Servers''][$i][''nopassword''] = false;
$cfg[''Servers''][$i][''AllowNoPassword''] = false;

将两个false改为true,同时设置 $cfg[''Servers''][$i][''password''] = ''''通过这样设置配置文件后phpmyadmin 就会允许以空密码方式登录mysql数据库了。

若重新以空密码方式登录phpmyadmin有时仍无法登陆,请清除cookie或关闭原来的phpmyadmin 登录窗口,重新使用空密码登录。

若这时候仍然显示空密码登陆被禁止,试试随便输入几个字符当作密码看是否能够登陆成功。

登陆mysql服务器之后尽快将mysql密码在phpmyadmin中修改过来。

 

macos+apache+php+phpmyadmin 的整合过程梳理_PHP教程

macos+apache+php+phpmyadmin 的整合过程梳理_PHP教程

启动Apache

有两种方法:

如此在浏览器中输入“http://localhost”,就可以看到一个内容为“It works!”的页面,其位于“/Library(资源库)/WebServer/Documents/”下,这就是Apache的默认根目录。

运行PHP

安装MySQL

Mac OS X没有内置MySQL,所以需要自己手动安装,目前MySQL的最稳定版本是5.5。MySQL提供了Mac OS X下的安装说明。

注意:Mac OS X的升级或其他原因可能会导致MySQL启动或开机自动运行时,在MySQL操作面板上会提示“Warning:The /usr/local/mysql/data directory is not owned by the ''mysql'' or ''_mysql'' ”,这应该是某种情况下导致/usr/local/mysql/data的宿主发生了改变,只需要运行“sudo chown -R mysql /usr/local/mysql/data”即可。

另外,使用PHP连接MySQL可能会报错“Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’”,或使用localhost无法连接MySQL而需要127.0.0.1,原因是连接时php默认去找/var/mysql/mysql.sock了,但MAC版的MYSQL改动了文件位置,放在/tmp下了。处理办法是按如下修改php.ini:

立即学习“PHP免费学习笔记(深入)”;

mysql.default_socket = /tmp/mysql.sock<br />
登录后复制

使用phpMyAdmin

phpMyAdmin是用PHP开发的管理MySQL的程序,非常的流行和实用。能够使用phpMyAdmin管理MySQL是检验前面几步效果的非常有效方式。这个主要是在最近研究的phpcms中才开始应用的,步骤如下:

<br /><br /><span><span <strong>关于错误处理:</strong></span><br /></span>
登录后复制

解决

登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

将config.sample.inc.php复制成config.inc.php

登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
出现这个错误,表示没有连接到数据库。修改config.inc.php文件,
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
将$cfg[''Servers''][$i][''host''] = ''localhost'';
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
改为$cfg[''Servers''][$i][''host''] = ''127.0.0.1'';
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制
登录后复制

--------------------------------------------------

或者修改 php.ini : mysql.default_socket = /tmp/mysql.sock

 

#1045 无法登录 MySQL 服务器Access denied for user ‘root’@''localhost’ (using password: YES)

问题原因:这有可能是由于前面设置mysql密码没有成功,所以导致了我们使用设置的mysql root密码无法登陆服务器。

解决方法:这时可以尝试使用mysql 默认的root账号的空密码登陆数据库。

如果使用空密码登陆时又出现: 的错误。则要修改/phpmyadmin/config.inc.php 文件,找到下面两行

$cfg[''Servers''][$i][''nopassword''] = false;
$cfg[''Servers''][$i][''AllowNoPassword''] = false;

将两个false改为true,同时设置 $cfg[''Servers''][$i][''password''] = ''''通过这样设置配置文件后phpmyadmin 就会允许以空密码方式登录mysql数据库了。

若重新以空密码方式登录phpmyadmin有时仍无法登陆,请清除cookie或关闭原来的phpmyadmin 登录窗口,重新使用空密码登录。

若这时候仍然显示空密码登陆被禁止,试试随便输入几个字符当作密码看是否能够登陆成功。

登陆mysql服务器之后尽快将mysql密码在phpmyadmin中修改过来。

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/750100.htmlTechArticle启动Apache 有两种方法: 如此在浏览器中输入http://localhost,就可以看到一个内容为It works!的页面,其位于/Library(资源库)/WebServer/Document...

今天关于php8: 安装yac(yac 2.3.2-dev / php 8.1.1)php8.0安装的分享就到这里,希望大家有所收获,若想了解更多关于CENTOS php 7.0 +nginx 环境下 安装yaf框架、Docker安装php安装yaf扩展、macos+apache+php+phpmyadmin 的整合过程梳理、macos+apache+php+phpmyadmin 的整合过程梳理_PHP教程等相关知识,可以在本站进行查询。

本文标签: