略
LNMP安装了哪些软件?安装目录在哪? - LNMP一键安装包 https://lnmp.org/faq/lnmp-software-list.html
选择PECL安装:
1>pecl install swoole //如果以上步骤一切正常的话,即表示swoole已经成功的安装了。 (询问的都选了yes。。。不知道有啥用)
2>extension=swoole.so //成功之后,我们打开php.ini(不知道配置文件在哪的回去再把CLI看一遍),把swoole.so加入到文件最后 (php --ini定位文件所在 LNMP列出的目录不准) (快捷键:vim中大写G到达文件尾部)
3>$ php -m | grep swoole //查看swoole是否被正确的安装
源码编译方法未尝试,github速度太慢建议使用gitee.com的源
root下被禁止使用composer,故创建一个用户
sudo adduser nick
设置密码 ,nano /etc/sudoers
在root ALL=(ALL) ALL 那里添加 nick ALL=(ALL) ALL
vim还是sudo保存不了(权限问题)。
查看用户cat /etc/passwd
参考 EasySwoole 安装|swoole 安装|swoole 拓展 https://www.easyswoole.com/Cn/Introduction/install.html
执行composer require easyswoole/easyswoole=3.x
出现错误,是文件权限问题,find . /home/ -name "composer.json" 2>/dev/null
找到/home/wwwroot/default/phpmyadmin 下的文件 sudo chmod -R 777 composer.json
nano ctrl+w 查找字符串
查看Linux版本 lsb_release -a
出现错误,修改php.ini文件中
extension_dir = “./php/include/php/ext”
目录为php的ext目录
几个目录:
/usr/local/php/include/php/ext
LNMP太麻烦了,用自己的服务器换上宝塔来做了。。然而宝塔安装的也是LNMP。。。
yum install unzip zip -y
wget https://codeload.github.com/swoole/swoole-src/tar.gz/v4.4.3
tar -zxvf v4.4.3
cd swoole-src-4.4.3/
phpize
有输出信息后才下一步
find / -name "php-config"
找到./www/server/php/71/bin/php-config
./configure --with-php-config=/www/server/php/71/bin/php-config
make
make install
输出两条信息:
Installing shared extensions: /www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303/
Installing header files: /www/server/php/71/include/php/
find / -name “php.ini”
vim /www/server/php/71/etc/php.ini
G到末尾
添加:extension=/www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303/swoole.so
检查 php -m 有无swoole
参考:
宝塔面板安装swoole扩展组件支持设置生效全过程_老蒋部落 https://www.itbulu.com/bt-swoole.html
swoole 安装和简单实用 - 太空刘 - 博客园 https://www.cnblogs.com/taikongliu/p/6801950.html
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer require easyswoole/easyswoole=3.x
php vendor/bin/easyswoole install
报错symlink被禁用
宝塔控制面板->软件管理->php 设置 禁用函数 删除symlink(好像没用)
php vendor/easyswoole/easyswoole/bin/easyswoole install
php easyswoole start
在项目根目录下创建如下的目录结构,这个目录是编写业务逻辑的应用目录,编辑 Index.php
文件,添加基础控制器的代码
project 项目部署目录 就是在easyswoole的同目录下创建一个app文件
----------------------------------
├─App 应用目录
│ └─HttpController 应用的控制器目录
│ └─Index.php 默认控制器文件
----------------------------------
Index.php:
namespace App\HttpController;
use EasySwoole\Http\AbstractInterface\Controller;
class Index extends Controller
{
function index()
{
// TODO: Implement index() method.
$this->response()->write('hello world');
}
}
然后编辑根目录下的 composer.json 文件,注册应用的命名空间:
{
"autoload": {
"psr-4": {
"App\\": "app/"
}
},
"require": {
"easyswoole/easyswoole": "3.x-dev"
}
}
最后执行 composer dumpautoload
命令更新命名空间,框架已经可以自动加载 App 目录下的文件了,此时框架已经安装完毕,可以开始编写业务逻辑
在有APP文件的路径下(App放在根目录了)
# 更新命名空间映射
composer dumpautoload
# 启动框架
php easyswoole start
阿里云防火墙开启9501 宝塔面板 安全 放行9501
启动框架后,访问 http://IP:9501
即可看到 Hello World 。
解析:
http://test..cn/ ->A记录 IP .**.***.
http://t.*.cn/ -> 隐性URL http://test..cn:9501
宝塔面板添加的端口9501
阿里云面板开放 21 端口 39000/40000 被动端口
宝塔面板Pure-Ftpd 1.0.47设置 查找“ForcePassiveIP”(位置188行左右)将后面的192.168.0.1 修改为你自己的阿里云服务器公网IP地址,同时,去掉ForcePassiveIP的“#”号。然后保存。
FTP连接工具使用被动模式,目录为/ ,直接连接到宝塔ftp面板显示的目录,无法越级。
宝塔Linux面板FTP无法连接的解决办法 - 止境 - CSDN博客 https://blog.csdn.net/hc1104/article/details/80401637
作者:Tauruse
WSL运行swoole过程记录整理,在windows上原生运行Linux系统
https://www.jianshu.com/p/d47d9a68c074
之前是在服务器上装的,需要本地测试,还是在WSl上装一个
用的是Ubuntu20.04
先要更换源,然后
php -v
查看有没php,有的话可以卸载
sudo apt-get autoremove php7*
下载
cd ~
wget https://www.php.net/distributions/php-7.3.5.tar.gz
tar -zxvf php-7.3.5.tar.gz
cd php-7.3.5
可以先windows下载后放到
C:\Users\Administrator\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\nick
Administrator windows用户名
nick Ubuntu用户名
编译:
./configure --prefix=/usr/local/php
make && sudo make install
configure: error: libxml2 not found. Please check your libxml2 installation.
但是安装libxml2又是有的,libxml2-dev安装不了
sudo apt install libxml2 libxml2-dev -y
dpkg -s libxml2-dev
没解决
改用Ubuntu18.04安装编译工具就没问题。。。
编译也可以。
在目录 /usr/local/php/bin
中查看php的版本
./php -v
cd ~
sudo git clone https://gitee.com/swoole/swoole.git
sudo apt install autoconf m4 -y
cd swoole
sudo /usr/local/php/bin/phpize
sudo ./configure --with-php-config=/usr/local/php/bin/php-config
sudo make && sudo make install
上面的命令执行完之后,cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731
目录下面看是否存在swoole.so文件
执行PHP的命令 /usr/local/php/bin/php -i
查看配置文件在哪
将原来源码里的配置文件复制过来 sudo cp ~/php-7.3.5/php.ini-development /usr/local/php/lib/php.ini
再进行编辑 sudo vim /usr/local/php/lib/php.ini
在文件的末尾加上
extension=swoole.so
或
extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/swoole.so"
按大写G到文件尾。
保存再(在/usr/local/php/bin)执行命令看是否能加载swoole模块:
./php -m
执行命令:
sudo vim /etc/profile
末尾添加
export PATH=/usr/local/php/bin:$PATH
保存后执行
source /etc/profile
现在就可以直接通过命令 php -v
查看到php的信息了
cd /mnt/e/WEB/swoole_test 目录在windows下E盘的
set([
'worker_num'=>2
]);
$swoole_server->on('Connect',function ($sv,$fd){
echo 'User['.$fd.'],Connection';
});
$swoole_server->on('Close',function ($sv,$fd){
echo 'bye'.$fd;
});
$swoole_server->on('Receive',function ($sv,$fd,$fromId,$data){
echo var_dump($data);
$sv->send($fd,'receive msg:'.$data);
});
$swoole_server->start();
}
}
new swooleServer();
保存为文件swooleServer.php
运行 php swooleServer.php
再开一个命令窗口 运行 telnet 127.0.0.1 9501
输入信息回车就能收到消息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vm5WdIz9-1595864664641)(https://i.loli.net/2020/07/27/5rkiJz6IsHKEo7x.png)]
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
一开始就出现问题…
解决后
php composer-setup.php
php -r "unlink('composer-setup.php');"
移动到系统目录
sudo mv composer.phar /usr/local/bin/composer
更换源:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer require 没反应 执行composer update
composer self-update
Packagist / Composer 中国全量镜像
https://pkg.phpcomposer.com/#how-to-install-composer
新建一个文件夹作为工程文件夹,在文件夹类操作:
composer require easyswoole/easyswoole=3.x
php vendor/easyswoole/easyswoole/bin/easyswoole install
错误:
php -m
检查 swoole没加载,检查php.ini
继续:
安装 sudo apt-get install unzip
再运行
成功:
执行:
# 启动框架
php easyswoole start
此时可以访问 http://localhost:9501
看到框架的欢迎页面,表示框架已经安装成功
easyswoole安装教程
https://www.easyswoole.com/Cn/QuickStart/install.html
sudo apt-get install openssl
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libssl-dev
PHP的源文件下
cd home/nick/php-7.3.5/ext/openssl
cp config0.m4 config.m4
phpize
或 /data/php/bin/phpize
./configure --with-openssl --with-php-config=/data/php/bin/php-config
没有找到--with-php-config目录 去掉了
make && make install
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R7bLuLLh-1595863924503)(https://i.loli.net/2020/07/27/jGuphFTzckXmgyr.png)]
修改php.ini文件,最后添加
extension=openssl.so
php添加openssl扩展
https://www.cnblogs.com/hlongch/p/6428904.html
/home/nick/php-7.3.5/ext/openssl
penssl扩展
sudo apt-get install openssl
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libssl-dev
PHP的源文件下
cd home/nick/php-7.3.5/ext/openssl
cp config0.m4 config.m4
phpize
或 /data/php/bin/phpize
./configure --with-openssl --with-php-config=/data/php/bin/php-config
没有找到--with-php-config目录 去掉了
make && make install
extension=openssl.so
php添加openssl扩展
https://www.cnblogs.com/hlongch/p/6428904.html