文章目录
1 安装LAMP Linux+Apache+mysql+php
1.1 安装Apache
sudo apt install apache2 -y
功能 | 命令 |
---|---|
检查是否开启Apache,一般安装完会默认开启。 | systemctl status apache2 |
开启服务器 | /etc/init.d/apache2 start |
停止服务器 | /etc/init.d/apache2 stop |
重启服务器 | /etc/init.d/apache2 restart |
现在在本机输入虚拟机的IP即可访问
1.2 安装mysql
sudo apt install mysql-server mysql-client
安装完成后
sudo mysql -uroot
即可进入数据库。
此时普通用户不加sudo无法连接数据库。主要是由于root用户的plugin被修改了,只有换成mysql_native_password才可以使用密码登录MySQL。
mysql> update mysql.user set authentication_string=PASSWORD('root'), plugin='mysql_native_password' where user='root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
设置roor用户plugin为mysql_native_password
,密码为root。
现在退出mysql以普通用户身份也可以连接数据库了。
1.3 PHP安装
sudo apt install php7.2-mysql php7.2-curl php7.2-json php7.2-cgi php7.2 libapache2-mod-php7.2
安装成功
sudo gedit /var/www/html/phpinfo.php
写入如下内容
<?php
echo phpinfo();
?>
本机在刚刚的网址后面加上 /phpinfo.php 访问
2 PhpStorm安装配置
一行命令直接安装
sudo snap install phpstorm --classic
激活、配置什么的 略
3 安装swoole!!!
首先在确定是否安装pecl和phpize如果未安装
sudo apt install php-pear
这里我使用的是php7.2,具体请根据自己版本号
sudo apt install php7.2-dev
看教程现在就可以安装了,结果…
ryan@ryan-ubuntu:~$ pecl install swoole
Package "swoole" Version "4.7.0" does not have REST xml available
install failed
我看网上说什么需要 php-dev7.2
、php-pear
我都安装了呀,无语。
PECL不过是官方提供的一键下载安装方式而已,无脑操作不行,那就手动安装
自己手动编译安装吧。
## 进入tmp目录
cd /tmp
## 下载
wget https://github.com/swoole/swoole-src/archive/v4.4.23.tar.gz
## 解压到当前目录
tar -zvxf v4.4.23.tar.gz
## cd 到解压之后的目录
cd swoole-src-4.4.23/
phpize (ubuntu 没有安装phpize可执行命令:sudo apt-get install php-dev来安装phpize)
./configure
make
sudo make install
编译安装成功后,sudo gedit /etc/php/7.2/cli/php.ini
修改php.ini
加入
extension=swoole.so
重启apache2
service apache2 restart
or /etc/init.d/apache2 restart
检验安装效果 php --ri swoole
php -m
ryan@ryan-ubuntu:/tmp/swoole-src-4.4.23$ php --ri swoole
swoole
Swoole => enabled
Author => Swoole Team <team@swoole.com>
Version => 4.4.23
Built => Jul 21 2021 14:10:22
coroutine => enabled
epoll => enabled
eventfd => enabled
signalfd => enabled
cpu_affinity => enabled
spinlock => enabled
rwlock => enabled
pcre => enabled
mutex_timedlock => enabled
pthread_barrier => enabled
futex => enabled
async_redis => enabled
Directive => Local Value => Master Value
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off
swoole.display_errors => On => On
swoole.use_shortname => On => On
swoole.unixsock_buffer_size => 8388608 => 8388608
大功告成,喵的😎