Symfony-cli - The Symfony CLI tool For Golang

Symfony CLI

Install

To install Symfony CLI, please download the appropriate version, unarchive the files, and move the binary somewhere under your path. To upgrade, download the latest version and replace the binary by the new one.

Owner
Symfony CLI
The official Symfony CLI
Symfony CLI
Comments
  • Can't update Symfony CLI

    Can't update Symfony CLI

    Hi
    My Symfony CLI version is 5.0.8 and a few hours ago version 5.0.9 was released.
    Now I want update my Symfony CLI by using symfony self-update command but say there is no update:

    Checking for Platform.sh CLI for Symfony updates (current version: 3.73.2) No updates found

    @fabpot What's wrong?

  • Sign (RPM) packages in the (YUM) repos

    Sign (RPM) packages in the (YUM) repos

    Currently, the instructions say to disable GPG check for Yum / DNF. This is not the best security practice and the packages should be signed by Symfony.

  • MailCatcher web interface not found despite being started

    MailCatcher web interface not found despite being started

    Hello :)

    MailCatcher does run and work on my machine, but the Symfony CLI command strangely does not see it through symfony open:local:webmail

    On Ubuntu Linux:

    $ curl http://localhost:1080
    <!DOCTYPE html>
    <html class="mailcatcher">
    <head>
      <title>MailCatcher</title>
      <base href="/">
      <link href="favicon.ico" rel="icon">
      <script src="/assets/mailcatcher.js"></script>
      <link rel="stylesheet" href="/assets/mailcatcher.css">
    </head>
    <body>
      <noscript>
        <div id="noscript-overlay">
          <div id="noscript">
            MailCatcher requires JavaScript to be enabled.
          </div>
        </div>
      </noscript>
      <header>
        <h1><a href="https://mailcatcher.me" target="_blank">MailCatcher</a></h1>
        <nav class="app">
          <ul>
            <li class="search"><input type="search" name="search" placeholder="Search messages..." incremental="true" /></li>
            <li class="clear"><a href="#" title="Clear all messages">Clear</a></li>
            
          </ul>
        </nav>
      </header>
      <nav id="messages">
        <table>
          <thead>
            <tr>
              <th>From</th>
              <th>To</th>
              <th>Subject</th>
              <th>Received</th>
            </tr>
          </thead>
          <tbody></tbody>
        </table>
      </nav>
      <div id="resizer"><div class="ruler"></div></div>
      <article id="message">
        <header>
          <dl class="metadata">
            <dt class="created_at">Received</dt>
            <dd class="created_at"></dd>
            <dt class="from">From</dt>
            <dd class="from"></dd>
            <dt class="to">To</dt>
            <dd class="to"></dd>
            <dt class="subject">Subject</dt>
            <dd class="subject"></dd>
            <dt class="attachments">Attachments</dt>
            <dd class="attachments"></dd>
          </dl>
          <nav class="views">
            <ul>
              <li class="format tab html selected" data-message-format="html"><a href="#">HTML</a></li>
              <li class="format tab plain" data-message-format="plain"><a href="#">Plain Text</a></li>
              <li class="format tab source" data-message-format="source"><a href="#">Source</a></li>
              <li class="action download" data-message-format="html"><a href="#" class="button"><span>Download</span></a></li>
            </ul>
          </nav>
        </header>
        <iframe class="body"></iframe>
      </article>
    </body>
    </html>
    
    
    $ cat docker-compose.yml 
    version: '3'
    
    services:
      mailer:
        image: schickling/mailcatcher
        ports: 
          - 1080:1080
          - 1025:1025
    
    $ docker compose version
    Docker Compose version v2.10.2
    
    $ uname -a
    Linux hopa 5.15.0-50-generic #56-Ubuntu SMP Tue Sep 20 13:23:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
    
    $ docker --version
    Docker version 20.10.18, build b40c2f6
    
    $ cat .env | grep -i mail
    ###> symfony/mailer ###
    MAILER_DSN=smtp://localhost:1025
    ###< symfony/mailer ###
    ###> symfony/mailer ###
    EMAIL_FROM="[email protected]"
    ###< symfony/mailer ###
    COMPANY_EMAIL=""
    
    $ docker ps
    CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS          PORTS                                            NAMES
    730ec4402994   schickling/mailcatcher   "sh -c 'mailcatcher …"   44 minutes ago   Up 44 minutes   0.0.0.0:1025->1025/tcp, 0.0.0.0:1080->1080/tcp   hey-mailer-1
    
    $ symfony open:local:webmail
                                           
      Mailcatcher Web interface not found  
    

    :)

  • LinuxMint 21 not supported

    LinuxMint 21 not supported

    During execution of the setup script for the 'symfony/stable' repository the following error occurs :

    Distro=linuxmint version=21 codename=vanessa arch=x86_64

    Failed to fetch configurationn for your OS distribution release/version

    It looks like we don't currently support your distribution release and version.

  • Installer always install latest version

    Installer always install latest version

    It could be nice to let the ability to the user to choose which version of symfony-cli he install.

    I mean, wget https://get.symfony.com/cli/installer -O - | bash will install by default the latest version (as it is now in fact) and wget https://get.symfony.com/cli/installer --version=x.y.z -O - | bash will let the user choose the version he want.

  • Re-add `check:security` command?

    Re-add `check:security` command?

    As Fabien said here:

    The (check:security) command does not exist in the new version of the CLI, you should use https://github.com/fabpot/local-php-security-checker instead.

    Unless there are technical reasons to not do it, could we please reconsider adding the command again? It was very useful and the alternative of having to install another project to have that feature causes lots of friction in my opinion.

    Thanks!

  • feat: add gzip for local webserver

    feat: add gzip for local webserver

    I develop currently very often in Gitpod. If an application has huge JS it takes very long to load. Setting up caddy is annoying.

    So I just added simple gzip support. It's currently enabled by default when the client supports it using that nytimes library

    Also relates to #170

  • Installer generate wrong download url

    Installer generate wrong download url

    The installer generates https://github.com/symfony-cli/symfony-cli/releases/latest/download/symfony-cli_linux_arm64.tar.gz which return a 404; using https://github.com/symfony-cli/symfony-cli/releases/download/v5.4.15/symfony-cli_5.4.15_linux_arm64.tar.gz works fine.

  • Server often stops responding with error

    Server often stops responding with error "unable to preload links: http2: stream closed"

    Hey, to reopen an old issue from symfony/cli here, that still occurs on a regular basis: https://github.com/symfony/cli/issues/31

    Context:

    A development scenario using the local server from Symfony CLI.

    Problem description:

    When I open a page that triggers AJAX requests on some routes on load, in many cases they run forever. In most of that cases, I can fix that, by calling another route (that also loads forever, even in new tabs) and hit the stop-button on the browser there. Then the server logs ERROR | SERVER unable to preload links: http2: stream closed and continues to work for new requests.

    In rare cases I have to stop the server with server:stop two times as the first time it tells me "TerminateProcess: Access is denied.". After a restart it works normally until the problem occurs the next time.

    I can trigger that behavior quite well by navigating away from the route before the AJAX requests are fully loaded, but also quite often (every 4-5 reloads of that route with 4 of those AJAX requests) this happens even when I only call that route and wait.

    Workaround:

    Disabling HTTP/2 (in Chrome with --disable-http2 flag) seems to resolve the problem. Also it is not related to a specific PHP version or OS (I use Windows 10 and now 11, my collegue is on macOS)

    Possible source:

    Seems to be caused by this problem in Golang: https://github.com/golang/go/issues/42534 (but I am not that into Golang, nor the Symfony CLI codebase to verify that). The thread states at its last update: "Potentially fixed with https://github.com/golang/go/issues/49921. It's part of the Go 1.17.6 release."

  • panic: runtime error: invalid memory address or nil pointer dereference

    panic: runtime error: invalid memory address or nil pointer dereference

    I am getting this error

    panic: runtime error: invalid memory address or nil pointer dereference on ubuntu 20.04 new installation, after:

    echo 'deb [trusted=yes] https://repo.symfony.com/apt/ /' | sudo tee /etc/apt/sources.list.d/symfony-cli.list
     sudo apt update
     sudo apt install symfony-cli
    

    Version: 5.2.2

    Then I try to create a project using:

    symfony new my-project

    I have permissions in the directory. This is only happening with 'new' command, others like console or composer are working. Well, I don't have php nor composer installed yet. Any ideas?

  • symfonycorp/cli docker image not found (404) on DockerHub

    symfonycorp/cli docker image not found (404) on DockerHub

    Hello,

    As mentionned in Symfony support channel on Slack, some CI workflows fail on Github when using symfonycorp/security-checker-action.

    Here is the error message : image

    We found out that this URL was sending a 404 response : https://hub.docker.com/r/symfonycorp/cli

    Does anyone have any information about this docker image ? Why did it disappear ?

    To get rid of this error, we now have to download and install Symfony CLI and then run symfony security:check in our CI workflow.

    Is there any alternative ?

    Thank you all !

  • unable to fetch the response from the backend: malformed MIME header: missing colon

    unable to fetch the response from the backend: malformed MIME header: missing colon

    I broke my application, so I get using PHP internal web server:

    [3654] [Wed Dec 28 09:33:01 2022] PHP Warning:  require_once(/app/shop/public/../vendor/autoload_runtime.php): Failed to open stream: No such file or directory in /app/shop/public/index.php on line 12
    [3654] [Wed Dec 28 09:33:01 2022] PHP Fatal error:  Uncaught Error: Failed opening required '/app/shop/public/../vendor/autoload_runtime.php' (include_path='.:/usr/local/lib/php') in /app/shop/public/index.php:12
    Stack trace:
    #0 {main}
      thrown in /app/shop/public/index.php on line 12
    [3654] [Wed Dec 28 09:33:01 2022] 212.185.188.98:5255 [500]: GET /admin - Uncaught Error: Failed opening required '/app/shop/public/../vendor/autoload_runtime.php' (include_path='.:/usr/local/lib/php') in /app/shop/public/index.php:12
    Stack trace:
    #0 {main}
      thrown in /app/shop/public/index.php on line 12
    

    The same produces this error in Symfony CLI which does not really help:

    <div style="background-color:#dc322f;padding:20px" class="terminal">
    	<div id="prompt">
    		<code># unable to fetch the response from the backend: malformed MIME header: missing colon: "#0 {main}"</code>
    	</div>
    </div>
    
  • Allow to have a CLI specific php.ini

    Allow to have a CLI specific php.ini

    It's already possible to define a custom php.ini per project. But this one is used for all SAPI, and in my case there are some CLI command where I need memory_limit=-1.

    Would be great to be able to configure that once for all :)

  • Allow to set PHP version using YAML config

    Allow to set PHP version using YAML config

    Currently we can set a specific PHP version for the current project using a .php-version file.

    But I think it could be nice to be able to set it using the .symfony.local.yaml file instead? So that would reduce the number of config files for Symfony CLI?

  • feat(code-quality): add golangci-lint to CI and lint project

    feat(code-quality): add golangci-lint to CI and lint project

    Hello, this PR is here to have a better code quality/code style using golangci-lint. It adds the CI job to ensure every other PR will be as well written as possible.

  • Frequently crashes on Windows

    Frequently crashes on Windows

    The symfony.exe process frequently dies after a few requests on Windows, often being unable to start or stop any more processes thereafter, instead showing errors like:

    TerminateProcess: Access is denied.

    Not sure if it's due to running interactive Xdebug sessions or not, using coroutines or not, since they are always part of my workflow.

    The symfony.exe process has completely disappeared so it's not surprising that access is denied to a non-existent process. After a period of 5 minutes or so, it does finally allow me to start a new server. Needless to say, this is a very annoying development loop.

    Note that only the symfony.exe process dies; the php-cgi.exe child process lives on, though it is useless once it is orphaned. However, this is important because it means there's no errors in the server logs and it's not the case that PHP itself is segfaulting: the problem definitely lies with this binary. If there are any logs for the Symfony CLI process specifically, I would like to know where those are.


    Reproducible test case: https://github.com/Bilge/Quickstart-Symfony.

This tool is a CLI-interactive tool for TA who use eeclass platform

NTHU eeclass TA helper. This tool is a CLI-interactive tool for TA who use eeclass platform. It helps TA to download all the submitted homework, and use CSV to record the score and comment, and upload CSV score directly to the eeclass platform with just 2 Enter key!

Dec 11, 2021
bcrypt-cli is the CLI tool for hashing passwords with bcrypt.

bcrypt-cli bcrypt-cli is the CLI tool for hashing passwords with bcrypt. Install go install github.com/ryicoh/bcrypt-cli Usage It can be used like bas

Jan 9, 2023
GTDF-CLI - The official CLI tool to operate with Getting Things Done Framework
GTDF-CLI - The official CLI tool to operate with Getting Things Done Framework

This is the official CLI tool to operate with Getting Things Done Framework. How

Feb 14, 2022
A CLI tool implemented by Golang to manage `CloudComb` resource

CloudComb CLI tool: comb Get Started comb is a CLI tool for manage resources in CloudComb base on cloudcomb-go-sdk. Support Mac, Linux and Windows. We

Jan 4, 2021
Got: Simple golang package and CLI tool to download large files faster 🏃 than cURL and Wget!

Got. Simple and fast concurrent downloader. Installation ❘ CLI Usage ❘ Module Usage ❘ License Comparison Comparison in cloud server: [root@centos-nyc-

Dec 29, 2022
A golang CLI tool to download malware from a variety of sources.

mlget _____ _____ _____ _____ _____ /\ \

Jan 2, 2023
A CLI tool written in golang to track your orders.
A CLI tool written in golang to track your orders.

orders-tracker-cli This project still under development. This project was inspired by track-correios. A CLI tool written in Go to track your orders. I

Dec 2, 2022
A small CLI tool to compress and decompress files using Golang
A small CLI tool to compress and decompress files using Golang

Goflate A simple & small CLI tool to compress and decompress files using Golang Usage Install the binary to your local machine with the below command

May 27, 2022
Go-file-downloader-ftctl - A file downloader cli built using golang. Makes use of cobra for building the cli and go concurrent feature to download files.

ftctl This is a file downloader cli written in Golang which uses the concurrent feature of go to download files. The cli is built using cobra. How to

Jan 2, 2022
A command line tool that builds and (re)starts your web application everytime you save a Go or template fileA command line tool that builds and (re)starts your web application everytime you save a Go or template file

# Fresh Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file. If the web framework yo

Nov 22, 2021
fofax is a fofa query tool written in go, positioned as a command-line tool and characterized by simplicity and speed.
fofax is a fofa query tool written in go, positioned as a command-line tool and characterized by simplicity and speed.

fofaX 0x00 Introduction fofax is a fofa query tool written in go, positioned as

Jan 8, 2023
A small CLI tool to check connection from a local machine to a remote target in various protocols.

CHK chk is a small CLI tool to check connection from a local machine to a remote target in various protocols.

Oct 10, 2022
A CLI Tool to easily generate your Terraform configuration

Tf Tf is a command line tool to easily generate your Terraform configuration with an interactive prompt. Inspiration Boredom in Covid-19 Installation

Sep 30, 2022
A powerful cli tool to implement gin annotation ⭐
A powerful cli tool to implement gin annotation ⭐

gin-annotation A powerful cli tool to implement gin annotation Chinese Document Features Using code generating technology by operating golang AST Rout

Mar 24, 2022
A CLI tool that generates OpenTelemetry Collector binaries based on a manifest.

OpenTelemetry Collector builder This program generates a custom OpenTelemetry Collector binary based on a given configuration. TL;DR $ go get github.c

Sep 14, 2022
PingMe is a CLI tool which provides the ability to send messages or alerts to multiple messaging platforms & email.
PingMe is a CLI tool which provides the ability to send messages or alerts to multiple messaging platforms & email.

PingMe is a personal project to satisfy my needs of having alerts, most major platforms have integration to send alerts but its not always useful, either you are stuck with one particular platform, or you have to do alot of integrations. I needed a small app which i can just call from my backup scripts, cron jobs, CI/CD pipelines or from anywhere to send a message with particular information. And i can ship it everywhere with ease. Hence, the birth of PingMe.

Dec 28, 2022
git-xargs is a command-line tool (CLI) for making updates across multiple Github repositories with a single command.
git-xargs is a command-line tool (CLI) for making updates across multiple Github repositories with a single command.

Table of contents Introduction Reference Contributing Introduction Overview git-xargs is a command-line tool (CLI) for making updates across multiple

Dec 31, 2022
A CLI tool for leveraging IDP signing keys to impersonate users and groups

Imperson8 Disclaimer This is a security testing tool. Only use this on systems you have explicit authorization to test. This isn't an exploit and won'

Jul 23, 2022