{"id":21195176,"url":"https://github.com/lucasdc6/phpdock","last_synced_at":"2025-05-07T19:02:44.012Z","repository":{"id":69891977,"uuid":"114676187","full_name":"lucasdc6/phpdock","owner":"lucasdc6","description":"phpdock is a script to manage local versions of docker php images","archived":false,"fork":false,"pushed_at":"2018-06-13T11:21:58.000Z","size":91,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T13:05:08.481Z","etag":null,"topics":["apache","bash","docker","php","php-server","version-manager"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucasdc6.png","metadata":{"files":{"readme":"README-es.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-12-18T18:47:49.000Z","updated_at":"2025-01-07T17:24:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"e0a4f5cc-8d49-43c5-9b6a-884b88ef71c0","html_url":"https://github.com/lucasdc6/phpdock","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasdc6%2Fphpdock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasdc6%2Fphpdock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasdc6%2Fphpdock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucasdc6%2Fphpdock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucasdc6","download_url":"https://codeload.github.com/lucasdc6/phpdock/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252940883,"owners_count":21828766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","bash","docker","php","php-server","version-manager"],"created_at":"2024-11-20T19:26:25.630Z","updated_at":"2025-05-07T19:02:42.527Z","avatar_url":"https://github.com/lucasdc6.png","language":"Shell","readme":"# phpdock\n\nphpdock es un manejador de versiones de php, que utiliza como principal\ntecnología [Docker](https://github.com/docker), haciendo uso del \n[repositorio oficial](https://hub.docker.com/\\_/php/) de php en Docker Hub.\n\nphpdock fue inspirado y sigue el modelo de [rbenv](https://github.com/rbenv/rbenv),\n[goenv](https://github.com/syndbg/goenv) y [pyenv](https://github.com/pyenv/pyenv)\n\n## Contenidos\n\n* [Instalación](#instalación)\n  * [Local](#local)\n* [Uso](#uso)\n* [Agregar repositorios](#agregar-repositorios-propios)\n* [Variables de ambiente](#variables-de-ambiente)\n* [Instalar una versión de php](#instalar-una-versión-de-php)\n  * [Manual](#manual)\n  * [Usando archivo .php-version](#usando-archivo-.php-version)\n\n## Instalación\n\n### Local\n\n1. Clonar el repositorio en ~/.phpdock\n```bash\n$ git clone git@github.com:lucasdc6/phpdock.git ~/.phpdock\n```\n\n2. Agregar la variable de ambiente y el  directorio ~/.phpdock/bin \npara contar con todos los ejecutables\n```bash\n$ echo 'export PHPDOCKPATH=$HOME/.phpdock' \u003e\u003e ~/.bash_profile\n$ echo 'export PATH=\"$HOME/.phpdock/bin:$PATH\"' \u003e\u003e ~/.bash_profile\n```\n\n3. Agregar la sentencia eval al bashrc\n```bash\n$ echo 'eval \"$(phpdock init -)' \u003e\u003e ~/.bash_profile\n```\nEn Ubuntu modificar ~/.bashrc\n\nEn Zsh modificar ~/.zshrc\n\n4. Reiniciar la terminar para efectuar los cambios.\n\n\n## Uso\n\nCon el fin de facilitar el uso de los script php y php-server, se provee este\nscript con 5 opciones relacionadas al manejo de versiones:\n  * Setear versión global (requiere reinicio de terminal)\n  * Setear versión local (no requiere reinicio de terminal)\n  * Instalar una versión (docker pull de los repositorios dados)\n  * Listar versiones instaladas\n  * Listar opciones disponibles para bajar de los repositorios\n\nAdemás se cuenta con 3 opciones para el manejo de los repositorios docker:\n  * Listar repositorios\n  * Agregar repositorio\n  * Eliminar repositorio\n\nPara el manejo de los repositorios, se cuenta con un archivo de configuración\ndisponible en el directorio etc, llamado _repositories._\n\nEn este archivo se cuenta con una lista de repositorios separados por saltos\nde líneas.\n\nSe recomieda no editar este archivo a mano.\n\nEs muy importante además **NO** eliminar dicho archivo de configuración.\n\n## Agregar repositorios propios\n\nPara agregar un repositorio propio, simplemente se deben seguir una simple regla\npara que el script pueda reconocer las imágenes.\n\nLa regla a seguir, es taguear las imágenes con un nombre que contenga \"cli\" o\n\"apache\", dependiendo del tipo de imagen que sea.\n\nLas imágenes tagueadas con un \"cli\" en su nombre serán utilizadas por el script\nphp, mientras que las \"apache\", serán utilizadas por el script php-server\n\nDe seguir esta regla, solo hace falta agregar el repositorio de la siguiente\nmanera:\n\n```bash\n  $ phpdock repositories --add \u003cNOMBRE DEL REPOSITORIO\u003e\n```\n\nPor ejemplo, para agregar el repositorio oficial de php, solo hace falta\n\nejecutar:\n\n```bash\n  $ phpdock repositories --add php\n```\n\nComo se puede notar, las imágenes en este repositorio son tagueadas siguiendo la\nregla anteriormente nombrada.\n\n## Variables de ambiente\n\nPara el correcto uso de este script, se debe entender que funciona seteando\nvariables de ambiente que usará el script php y php-server.\nEste script **NO** instala ninguna versión de php provistas por el sistema, sino\nque simplemente baja la imagen docker del repositorio especificado.\n\nVariable | Descripción\n---------|------------\n`PHP_CLI_DOCKER_IMAGE` | Variable para especificar versión de imagen php cli\n`PHP_SERVER_DOCKER_IMAGE` | Variable para especificar versión de imagen php con apache\n`PHPDOCK_DEBUG` | Muestra información de debug\n`PHPDOCKPATH` | Dirección raíz del programa phpdock\n\n## Archivos de versiones\n\n### Versión global\n\n- Archivo modificado por el comando `phpdock global \u003cversion\u003e`\n- Guardado en `$PHPDOCKPATH/etc/php-version` y `$PHPDOCKPATH/etc/apache-version`\n- Baja precedencia.\n\n### Versión local\n\n- Archivo modificado por el comando `phpdock local \u003cversion\u003e`\n- Guardado en el contexto de ejecución del comando\n- Media precedencia.\n\n### Versión de la shell (En desarrollo!)\n\n- Manejado mediante variables de ambiente por el comando `phpdock shell \u003cversion\u003e`\n-Alta precedencia.\n\n## Instalar una versión de php\n\nSi bien phpdock no instala versiones de php, sino que clona imágenes docker y\nlas acondiciona de manera que sea transparente su uso para el programador, vamos\na referirnos a la acción de clonar dichas imágenes como instalación.\n\nExisten 2 maneras de instalar una nueva versión de php:\n\n### Manual\n\nLa manera manual de instalar una nueva versión es la siguiente:\n\n1. Primero se debe conocer el repositorio y la versión (tag de docker) de la\n   imagen a instalar.\n\n   Para esto se puede consultar el comando \"install\" con la opción \"--list\":\n\n   ```bash\n    phpdock install --list\n    # lista de versiones\n    ```\n2. Una vez reconocido el nombre y versión de la imagen, se debe simplemente\n   especificarlo de la siguiente manera:\n   Por ejemplo, vamos a instalar la versión 7.1.9 del repositorio docker oficial\n   de php.\n\n   ```bash\n    phpdock install php:7.1.9\n   ```\n\n### Usando archivo .php-version\n\nSi se conoce la versión de php se se va a utilizar en el proyecto de antemano,\nse puede crear un archivo llamado \".php-version\", en el cual se especifique\ndicha versión, para facilitar la búsqueda de la imagen docker ideal para su\nproyecto.\n\nUna vez creado el archivo, simplemente hace falta ejecutar el comando \"install\"\nde phpdock sin ningún argumento, de la siguiente manera:\n\n   ```bash\n    phpdock install\n   ```\n\nCon esto, se desplazará un menú con todas las imágenes docker de los\nrepositorios que cumplan con dicha versión.\nUna vez escrito el número y presionado enter, comenzara el proceso de pull de la\nimagen docker.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasdc6%2Fphpdock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucasdc6%2Fphpdock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucasdc6%2Fphpdock/lists"}