安装

Packagist 这个项目是基于 Symfony 开发的。

准备工作

  • PHP Web 运行环境
  • Symfony CLI
  • MySQL 数据库
  • Redis
  • Git

安装

git clone git@github.com:composer/packagist.git

创建数据库

创建一个名为 packagist 的数据库。

安装依赖

composer install

修改配置文件

编辑项目下的 app/config/parameters.yml 文件,然后根据自己的实际环境修改。

# This file is auto-generated during the composer install
parameters:
  database_driver: pdo_mysql
  database_host: 127.0.0.1
  database_name: packagist
  database_user: root
  database_password: Password
  database_name_test: packagist_test
  mailer_transport: null
  mailer_host: localhost
  mailer_user: null
  mailer_password: null
  mailer_from_email: admin@example.org
  mailer_from_name: 'Admin Team'
  mailer_encryption: tls
  mailer_auth_mode: login
  redis_dsn: 'redis://localhost/1'
  redis_dsn_test: 'redis://127.0.0.1/14'
  redis_session_dsn: 'redis://localhost/2'
  locale: en
  google_analytics:
    ga_key: null
  github.client_id: CHANGE_ME_IN_PROD
  github.client_secret: CHANGE_ME_IN_PROD
  github.webhook_secret: CHANGE_ME_IN_PROD
  validation_cache_backend: null
  doctrine_cache_backend: array
  secret: CHANGE_ME_IN_PROD
  remember_me.secret: CHANGE_ME_IN_PROD
  force_ssl: false
  trusted_hosts: null
  algolia.app_id: CHANGE_ME
  algolia.admin_key: CHANGE_ME
  algolia.search_key: CHANGE_ME
  algolia.index_name: packagist

创建数据表

app/console doctrine:schema:create

添加定时任务

在 CRON Job 中添加如下命令,这个命令用来更新扩展包的信息。

app/console packagist:run-workers

运行服务

symfony serve

I hope this is helpful, Happy hacking…