Web + Mobile Blog / Berlin http://sebastianviereck.de PHP Freelancer Thu, 26 Mar 2020 16:49:41 +0000 de hourly 1 http://wordpress.org/?v=3.5.1 Symfony 5 Exception “The annotation was never imported.” http://sebastianviereck.de/symfony-5-exception-the-annotation-imported/?utm_source=rss&utm_medium=rss&utm_campaign=symfony-5-exception-the-annotation-imported http://sebastianviereck.de/symfony-5-exception-the-annotation-imported/#comments Thu, 26 Mar 2020 09:51:05 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4157-de Weiterlesen ]]> Ein Grund der Fehlermeldung kann sein, dass es tatsächlich eine Annotation ist, die ungültig ist, sich aber im vendor Code befindet. Dann sollte man diese ignorieren.

Fehlermeldung:

Doctrine\Common\Annotations\AnnotationException : [Semantical Error] The annotation "@suppress" in method Monolog\Formatter\LineFormatter::normalizeException() was never imported. Did you maybe forget to add a "use" statement for this annotation?

Sollte man die Annotation ignorieren mit dem statischen Aufruf von in der config/bootstrap.php:

AnnotationReader::addGlobalIgnoredName('suppress');

 

]]>
http://sebastianviereck.de/symfony-5-exception-the-annotation-imported/feed/ 0
Protractor Konfiguration Headless Chrome und Firefox http://sebastianviereck.de/protractor-konfiguration-headless-chrome-und-firefox/?utm_source=rss&utm_medium=rss&utm_campaign=protractor-konfiguration-headless-chrome-und-firefox http://sebastianviereck.de/protractor-konfiguration-headless-chrome-und-firefox/#comments Thu, 06 Feb 2020 16:02:02 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4144-de Weiterlesen ]]> Um Selenium Tests in Firefox und Chrome im Headless Modus auszuführen mit Protractor, kann man folgende Konfiguraton verwenden in der protractor.conf:

exports.config = {
....
  multiCapabilities: [
    {
      browserName: 'chrome',
      chromeOptions: {
        'args': ['--headless']
      },
    },
    {
      browserName: 'firefox',
      firefoxOptions: {
        args: ['--headless']
      },
      'moz:firefoxOptions': {
        args: ['--headless']
      }
    },
  ],
...
};
]]>
http://sebastianviereck.de/protractor-konfiguration-headless-chrome-und-firefox/feed/ 0
Jenkins mit selbst signiertem SSL Zertifikat absichern http://sebastianviereck.de/jenkins-mit-selbst-signiertem-ssl-zertifikat-absichern/?utm_source=rss&utm_medium=rss&utm_campaign=jenkins-mit-selbst-signiertem-ssl-zertifikat-absichern http://sebastianviereck.de/jenkins-mit-selbst-signiertem-ssl-zertifikat-absichern/#comments Tue, 04 Feb 2020 12:46:44 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4141-de Weiterlesen ]]> Damit Jenkins unter Linux nur noch über HTTPS erreichbar ist, muss man sich zuerst ein SSL Zertifikat erzeugen am besten im Ordner:

mkdir /var/lib/jenkins/ssl_cert/
cd /var/lib/jenkins/ssl_cert/

openssl req -newkey rsa:2048 -x509 -keyout cakey.pem -out cacert.pem -days 3650

Dann kann man dieses Zertifikat umwandeln für den Java Key Store:

openssl pkcs12 -export -in cacert.pem -inkey cakey.pem -out identity.p12 -name jenkins
keytool -importkeystore -destkeystore identity.jks  -srckeystore identity.p12 -srcstoretype PKCS12

und in den Java Key Store importieren:

keytool -import -file cacert.pem -keystore trust.jks

Am Ende muss nur noch die Config angepasst werden:

sudo vi /etc/sysconfig/jenkins

mit den Werten:

JENKINS_PORT="-1"

JENKINS_HTTPS_PORT="8443"

JENKINS_HTTPS_KEYSTORE="/var/lib/jenkins/ssl_cert/identity.jks"

JENKINS_HTTPS_KEYSTORE_PASSWORD="YOUR_PASSWORD_HERE"

JENKINS_HTTPS_LISTEN_ADDRESS="0.0.0.0"

Und der Service neu gestartet werden:

chown -R jenkins: /var/lib/jenkins/ssl_cert/*
chmod 600 /var/lib/jenkins/ssl_cert/*

sudo systemctl restart jenkins
]]>
http://sebastianviereck.de/jenkins-mit-selbst-signiertem-ssl-zertifikat-absichern/feed/ 0
Jenkins Ant build failed: exec returned 255 http://sebastianviereck.de/jenkins-ant-build-failed-exec-returned-255/?utm_source=rss&utm_medium=rss&utm_campaign=jenkins-ant-build-failed-exec-returned-255 http://sebastianviereck.de/jenkins-ant-build-failed-exec-returned-255/#comments Mon, 03 Feb 2020 16:16:43 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4137-de Wenn der Ant Build im Jenkins Server mit der sehr nichts sagenden Fehlermeldung fehlschlägt:

build.xml:103: exec returned: 255

dann kann dies daran liegen, dass nicht genug RAM zur Verfügung steht.

 

]]>
http://sebastianviereck.de/jenkins-ant-build-failed-exec-returned-255/feed/ 0
PHP eigene Metriken in AWS Cloudwatch erstellen http://sebastianviereck.de/php-eigene-metriken-aws-cloudwatch-erstellen/?utm_source=rss&utm_medium=rss&utm_campaign=php-eigene-metriken-aws-cloudwatch-erstellen http://sebastianviereck.de/php-eigene-metriken-aws-cloudwatch-erstellen/#comments Thu, 19 Dec 2019 16:12:20 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4132-de Weiterlesen ]]> Um in CloudWatch eigene Metriken anzulegen, um z.B. Alarm auszulösen und Monitoring zu betreiben mit den Daten der Applikation, kann man mit dem aws-php-sdk den folgenden Code verwenden:

 $client = new CloudWatchClient([
        'region' => 'eu-central-1',
        'version' => '2010-08-01',
        'credentials' => [
            'key'    => 'xxx',
            'secret' => 'xxx
        ],
    ]);
}
$result = $this->client->putMetricData(array(

    'Namespace' => 'MyProject',
    'MetricData' => array(
        array(
            'MetricName' => 'MyMetric,
            'Timestamp' => time(),
            'Value' => 1,
            'Unit' => 'Count',
            'Dimensions' => array(
                array(
                    'Name' => 'Environment',
                    'Value' => 'test',
                ),
            ),
        )
    )
));
]]>
http://sebastianviereck.de/php-eigene-metriken-aws-cloudwatch-erstellen/feed/ 0
Docker Image build auf einmal keine Internetverbindung mehr http://sebastianviereck.de/docker-image-build-auf-einmal-keine-internetverbindung-mehr/?utm_source=rss&utm_medium=rss&utm_campaign=docker-image-build-auf-einmal-keine-internetverbindung-mehr http://sebastianviereck.de/docker-image-build-auf-einmal-keine-internetverbindung-mehr/#comments Thu, 12 Dec 2019 16:18:32 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4128-de Wenn man keine Packete installieren kann bei einem Build, kann man versuchen, die docker-machine neuzustarten:

docker-machine restart
]]>
http://sebastianviereck.de/docker-image-build-auf-einmal-keine-internetverbindung-mehr/feed/ 0
Docker Shell Alias verwenden unter Linux http://sebastianviereck.de/docker-shell-alias-verwenden-unter-linux/?utm_source=rss&utm_medium=rss&utm_campaign=docker-shell-alias-verwenden-unter-linux http://sebastianviereck.de/docker-shell-alias-verwenden-unter-linux/#comments Thu, 12 Dec 2019 16:13:34 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4126-de Weiterlesen ]]> Um auf der Linux Shell die gewohnten Aliase wie ll für ls -lh zu verwenden, muss man folgenden Trick verwenden:

Da das Login über sh keine Linux Login Shell ist, werden die Alias Definitionen in /etc/profile.d nicht geladen beim Login.

Lösung:

Es reicht, sich mit sh –login im Container anzumleden, dann stehen die Alias Definitionen zur Verfügung.

]]>
http://sebastianviereck.de/docker-shell-alias-verwenden-unter-linux/feed/ 0
DockerFile PHP mit XDebug und Amazon Linux 2 http://sebastianviereck.de/dockerfile-php-mit-xdebug-und-amazon-linux-2/?utm_source=rss&utm_medium=rss&utm_campaign=dockerfile-php-mit-xdebug-und-amazon-linux-2 http://sebastianviereck.de/dockerfile-php-mit-xdebug-und-amazon-linux-2/#comments Thu, 12 Dec 2019 13:33:48 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4122-de Weiterlesen ]]> Ein DockerFile für eine PHP 7.2. Umgebung mit XDebug für eine Symfony 4 Umgebung unter Amazon Linux 2:

FROM amazonlinux:2.0.20190823.1

RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

# install php
RUN amazon-linux-extras install -y php7.2
RUN yum install -y php-devel.x86_64 php-xml.x86_64 php-pecl-zip.x86_64  php-intl.x86_64

#install xdebug
RUN yum install -y gcc make
RUN yum install -y php-pear.noarch
RUN pecl install xdebug
RUN echo 'zend_extension=/usr/lib64/php/modules/xdebug.so' >> /etc/php.ini
]]>
http://sebastianviereck.de/dockerfile-php-mit-xdebug-und-amazon-linux-2/feed/ 0
Docker Xdebug remote_host setzen in Toolbox für PHPStorm http://sebastianviereck.de/docker-xdebug-remote_host-setzen-toolbox-fuer-phpstorm/?utm_source=rss&utm_medium=rss&utm_campaign=docker-xdebug-remote_host-setzen-toolbox-fuer-phpstorm http://sebastianviereck.de/docker-xdebug-remote_host-setzen-toolbox-fuer-phpstorm/#comments Thu, 12 Dec 2019 10:55:26 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4119-de Weiterlesen ]]> Um mit Xdebug und PHPStorm im Docker Container debuggen zu können, aber die Fehlermeldung bekommt:

Connection was not established. Probably 'xdebug.remote_host=docker.for.win.localhost' is incorrect

liegt das daran, dass Docker in der Toolbox Variante für Windows den Platzhalter docker.for.win.localhost nicht befüllt. Es muss also die IP des PHPStorm Rechners manuell gesetzt werden.

Dazu setzt man manuell den Wert von xdebug.remote_host auf 192.168.99.1 (die IP Docker für den Host setzt, kann varieren) bei den CLI Interpreter Optionen:

 

]]>
http://sebastianviereck.de/docker-xdebug-remote_host-setzen-toolbox-fuer-phpstorm/feed/ 0
Docker Verzeichnis mounten unter Windows 10 mit Docker Toolbox http://sebastianviereck.de/docker-verzeichnis-mounten-unter-windows-10/?utm_source=rss&utm_medium=rss&utm_campaign=docker-verzeichnis-mounten-unter-windows-10 http://sebastianviereck.de/docker-verzeichnis-mounten-unter-windows-10/#comments Thu, 28 Nov 2019 14:59:49 +0000 Sebastian Viereck http://sebastianviereck.de/?p=4110-de Weiterlesen ]]> Um einen lokalen Ordner in einen Docker Container unter Windows 10 zu mounten, kann man entweder Docker für Windows verwenden oder wenn man die Windows 10 Home Edition verwendet, ist man gezwungen, dies per Hand mit Virtual Box erledigen.

Dazu muss man die Docker default Box auswählen in Virtual Box:

virtual_box_shared_folder

und einen neuen Gemeinsamen Ordner hinzufügen:virtual_box_shared_folder_add

Dann muss man die docker-machine neustarten in der Docker Toolbox, dadurch wird die docker default Virtual Box neugestartet:

docker-machine restart

Jetzt kann man sein Verzeichnis mounten in seiner docker-compose.yml:

volumes:
  - /htdocs/my_project:/var/www/html/

Jetzt wird der Ordner in dem Docker Container erfolgreich gemountet.

Mit dem folgenden Befehl kann getestet werden, ob das mounten erfolgreich war:

docker exec -it CONTAINER_ID ls -ll /var/www/html
]]>
http://sebastianviereck.de/docker-verzeichnis-mounten-unter-windows-10/feed/ 0