centos7+lnmp环境下安装Hyperf框架运行步骤流程
准备工作
1.为了方便我直接用的lnmp环境
2.composer已安装
3.swoole扩展已安装 (具体步骤可以搜索我的博客文章)
php.ini配置文件的修改项目
1.并关闭Short Name
swoole.use_shortname=Off
2.搜索disable_functions(php中禁用函数) 并删除proc_open ,proc_get_status 函数
不然composer项目的时候会遇到以下错误
The Process class relies on proc_open, which is not available on your PHP installation.;
proc_get_status() has been disabled for security reasons;
开始安装项目 (我这里的安装目录是/home/www/)
[[email protected] ~]# cd /home/www
[[email protected] www]# ll
总用量 0
[[email protected] www]# composer create-project hyperf/hyperf-skeleton
Creating a "hyperf/hyperf-skeleton" project at "./hyperf-skeleton"
Installing hyperf/hyperf-skeleton (v2.1.2)
- Installing hyperf/hyperf-skeleton (v2.1.2): Extracting archive
Created project in /home/www/hyperf-skeleton
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
> Installer\Script::install
Setting up optional packages
Setup data and cache dir
Removing installer development dependencies
What time zone do you want to setup ?
[n] Default time zone for php.ini
Make your selection or type a time zone name, like Asia/Shanghai (n):
n
Do you want to use Database (MySQL Client) ?
[y] yes
[n] None of the above
Make your selection or type a composer package name and version (yes): y
- Adding package hyperf/database (~2.1.0)
- Adding package hyperf/db-connection (~2.1.0)
Do you want to use Redis Client ?
[y] yes
[n] None of the above
Make your selection or type a composer package name and version (yes): y
- Adding package hyperf/redis (~2.1.0)
- Copying config/autoload/redis.php
Which RPC protocol do you want to use ?
[1] JSON RPC with Service Governance
[2] JSON RPC
[3] gRPC
[n] None of the above
Make your selection or type a composer package name and version (n): n
Which config center do you want to use ?
[1] Apollo
[2] Aliyun ACM
[3] ETCD
[n] None of the above
Make your selection or type a composer package name and version (n): n
Do you want to use hyperf/constants component ?
[y] yes
[n] None of the above
Make your selection (n): y
- Adding package hyperf/constants (~2.1.0)
- Copying app/Constants/ErrorCode.php
- Copying app/Exception/BusinessException.php
Do you want to use hyperf/async-queue component ? (A simple redis queue component)
[y] yes
[n] None of the above
Make your selection or type a composer package name and version (n): y
- Adding package hyperf/async-queue (~2.1.0)
- Copying config/autoload/async_queue.php
- Copying app/Process/AsyncQueueConsumer.php
- Copying app/Listener/QueueHandleListener.php
- Copying config/autoload/redis.php
Do you want to use hyperf/amqp component ?
[y] yes
[n] None of the above
Make your selection or type a composer package name and version (n): y
- Adding package hyperf/amqp (~2.1.0)
- Copying config/autoload/amqp.php
Do you want to use hyperf/model-cache component ?
[y] yes
[n] None of the above
Make your selection or type a composer package name and version (n): y
- Adding package hyperf/model-cache (~2.1.0)
- Copying app/Model/Model.php
- Copying config/autoload/databases.php
- Copying config/autoload/redis.php
Do you want to use hyperf/elasticsearch component ?
[y] yes
[n] None of the above
Make your selection or type a composer package name and version (n): y
- Adding package hyperf/elasticsearch (~2.1.0)
Do you want to use hyperf/tracer component ? (An open tracing protocol component, adapte with Zipkin etc.)
[y] yes
[n] None of the above
Make your selection or type a composer package name and version (n): y
- Adding package hyperf/tracer (~2.1.0)
- Copying config/autoload/opentracing.php
Remove installer
Removing composer.lock from .gitignore
Removing Expressive installer classes, configuration, tests and docs
Loading composer repositories with package information
Updating dependencies
Lock file operations: 132 installs, 0 updates, 0 removals
- Locking composer/semver (3.2.4)
...
- Locking webmozart/assert (1.10.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 132 installs, 0 updates, 0 removals
- Downloading doctrine/lexer (1.2.1)
...
- Downloading swoole/ide-helper (4.6.4)
- Installing doctrine/lexer (1.2.1): Extracting archive
...
- Installing swoole/ide-helper (4.6.4): Extracting archive
34 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
> rm -rf runtime/container
62 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
到这就是composer完项目了
启动项目
[[email protected] ~]# cd /home/www
[[email protected] www]# ll
总用量 4
drwxr-xr-x. 9 root root 4096 3月 24 14:55 hyperf-skeleton
[[email protected] www]# cd hyperf-skeleton/
[[email protected] hyperf-skeleton]# ll
总用量 364
drwxr-xr-x. 8 root root 102 3月 24 14:54 app
drwxr-xr-x. 2 root root 24 2月 22 17:38 bin
-rw-r--r--. 1 root root 2545 3月 24 14:55 composer.json
-rw-r--r--. 1 root root 343393 3月 24 14:55 composer.lock
drwxr-xr-x. 3 root root 79 2月 22 17:38 config
-rw-r--r--. 1 root root 580 2月 22 17:38 deploy.test.yml
-rw-r--r--. 1 root root 1455 2月 22 17:38 Dockerfile
-rw-r--r--. 1 root root 474 2月 22 17:38 phpstan.neon
-rw-r--r--. 1 root root 695 2月 22 17:38 phpunit.xml
-rw-r--r--. 1 root root 1797 2月 22 17:38 README.md
drwxrwxr-x. 2 root root 6 3月 24 14:49 runtime
drwxr-xr-x. 3 root root 64 2月 22 17:38 test
drwxr-xr-x. 43 root root 4096 3月 24 14:56 vendor
[[email protected] hyperf-skeleton]# php bin/hyperf.php start
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\Config\Listener\RegisterPropertyHandlerListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ExceptionHandler\Listener\ExceptionHandlerListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\DbConnection\Listener\RegisterConnectionResolverListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeMainServerStart handled by Hyperf\Amqp\Listener\BeforeMainServerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeMainServerStart handled by Hyperf\Process\Listener\BootProcessListener listener.
[DEBUG] Event Hyperf\Framework\Event\OnStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\MainWorkerStart handled by Hyperf\Amqp\Listener\MainWorkerStartListener listener.
[INFO] Worker#0 started.
[INFO] HTTP Server listening at 0.0.0.0:9501
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\OnManagerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[INFO] Worker#1 started.
[INFO] Process[queue.default.0] start.
[DEBUG] Event Hyperf\Process\Event\BeforeProcessHandle handled by Hyperf\Process\Listener\LogBeforeProcessStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Process\Event\BeforeProcessHandle handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
项目已启动,我们直接到访问一下
相关文章