Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: matipl, dodany: 29.11.2018 10:37, tagi: php

Martin zebrał wtyczki do PhpStorm, które są godne uwagi z naciskiem na framework Symfony. Ale moim zdaniem każdy znajdzie coś dobrego dla siebie:

  • PHP Annotations
  • PHP Toolbox This plugin provides „Method References” and „Type Provider” extracted from the Symfony Plugin. You can configure the plugin with simple per project files .ide-toolbox.metadata.json to support for eg $f->(‚date_time’)->format, new Datetime(‚caret’). Also it improves some PhpStorm Core functionality.
  • Symfony Plugin
  • PHPUnit Enhancement PhpStorm plugin to provide smart autocomplete, code navigation and refactoring features for mocked class methods.
  • PHP composer.json support
  • Php Inspections (EA Extended) This plugin is a Static Code Analysis tool for PHP (aka inspections in JetBrains products)
  • Twig Support
  • .env files support
  • .ignore

Używacie innych wtyczek? Ja korzystam również z „Phalcon auto-complete” i „BashSupport”.

Artykuł PhpStorm – polecane wtyczki pochodzi z serwisu Mateusz matipl Kamiński.

Autor wpisu: matipl, dodany: 13.11.2018 16:08, tagi: php

Ale ten czas szybko płynie. Dopiero co opisywałem Wam przepis na kompilację PHP 5.4 (2013), a za rogiem czeka już PHP 7.3.

Mimo upływu 5 lat dużo się nie zmieniło w samej konfiguracji kodu źródłowego i kompilacji. Podstawa to posiadanie w Linuksie gcc/g++ oraz pakietów -dev (głównie pliki nagłówkowe .h), dla rozszerzeń z których będziemy korzystać. Poniżej lista pakietów dla Debiana, które są przydatne:

apt-get install make gcc g++ libxml2-dev zlib1g-dev bzip2 libbz2-dev libcurl4-gnutls-dev libjpeg8-dev libpng-dev libfreetype6-dev libmcrypt-dev libmysqlclient-dev lemon libtidy-dev libxslt1-dev libpcre++-dev libssl-dev automake autoconf libsystemd-dev pkgconf

Na pewno zapytacie po co to wszystko? W dawnych czasach nie wszystkie dodatki PHP były przygotowane w paczkach danej dystrybucji i po pewnym czasie trzeba było pobierać kod źródłowy, skonfigurować i skompilować i tak. Dlaczego nie zrobić tego od razu? W tamtych czasach również kompilacja pomagała odpowiednio sprofilować PHP pod daną konfigurację (czy ktoś jeszcze korzysta z Gentoo?). Obecnie główna przewaga takie podejścia, to posiadanie kilku różnych instanacji PHP w różnych wersjach na jednej maszynie (bo mamy różne projekty, różnych klientów etc). Jak również można sprofilować PHP pod konkretną jedną aplikację (prof-gen & prof-use).

Ja nadal zawsze kompilują PHP, wtedy w przypadku dysków HDD mamy ciut mniejsze obciążenia i większą swobodę działania. Jeśli już wykonałeś poprzedni krok wystarczy pobrać kod źródłowy wybranej przez nas wersji PHP (np. 7.2.12). Jeśli nie chcecie za każdym razie przeklikiwać się przez stronę https://php.net/downloads.php możecie użyć prostego skrypciku:

#!/bin/bash

if [ $# -eq 0 ]; then
  echo "Syntax : $0 php_version"
  echo "Example: $0 7.0.2"
  exit 1
fi
VERSION=$1
SHORT=${VERSION%.*}
SHORT=${SHORT//./}
FILE="php-$VERSION.tar.gz"
URL="http://pl1.php.net/get/$FILE/from/this/mirror"

HTTP_CODE=`curl --silent --head --location --output /dev/null --write-out '%{http_code}' $URL`
if [ $HTTP_CODE == 404 ]
then
   echo "Cannot download php-$VERSION - not found."
   exit 1
fi

wget $URL -O $FILE

Wtedy gdy dostaniesz informację o nowej wersji wystarczy, że wydasz polecenie ./php_get 7.2.12. Jak już mamy paczkę .tar.gz na dysku musimy rozpakować źródła i w katalogu, który powstanie umieszczamy nasz przepis na kompilację. Jak taki przepis wygląda? Wszystko zależy, z czego Wasze aplikacje PHP korzystają, a może jest to serwer, gdzie serwujecie rózne aplikacje i wymagacie różnych bibliotek. Mój uniwersalny przepis, z którego korzystam to:

make distclean
./configure \
--enable-opcache \
--prefix /usr/local/php72 \
--enable-fpm \
--enable-cli \
--enable-inline-optimization \
--disable-rpath \
--disable-ipv6 \
--enable-mbstring \
--enable-mbregex \
--enable-zip \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-gettext \
--with-curl \
--with-zlib \
--with-zlib-dir=/usr \
--with-gd \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-freetype-dir \
--enable-exif \
--enable-shmop \
--with-xsl=shared \
--enable-soap=shared \
--enable-sockets \
--enable-pcntl=shared \
--with-bz2 \
--with-tidy \
--with-pcre-dir \
--with-openssl \
--with-imap-ssl \
--with-pear \
--enable-pcntl \
--with-fpm-systemd
make -j2
make install

Czasami różni się w zależności od potrzeb. W dużym skrócie – sprzątamy po poprzedniej kompilacji, konfiguruejmy nasz przepis oraz puszczamy machinę w ruch. Opcja -j2 oznacza, że kompilacja wykona się na 2 jobach. Potrwa to dobrych kilka minut. I ostatecznie wszystko zainstaluje się zgodnie z przepisem, tj. w /usr/local/php72 (dzięki takiemu podejściu łatwo później posprzątać po poprzedniej wersji, np. php70).

Konfiguracja dla środowiska PHP jest czytana z lokalizacji /usr/local/php72/lib/php.ini (ja mam i tak w /etc/php72.ini, a we właściwym miejscu link symboliczny, ułatwia to tworzenie kopii zapasowych konfiguracj):

cp php-7.2.12/php.ini-production /etc/php72.ini
ln -s /etc/php72.ini /usr/local/php72/etc/php.ini
ln -s /usr/local/php72/etc/php.ini /usr/local/php72/lib/php.ini

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: matipl, dodany: 08.11.2018 13:54, tagi: php

Ekipie ZaufanaTrzeciaStrona udało się wszystko dograć i już 1 grudnia odbędzie się pierwsza edycja konferencji What The H@ck. Jest to jednodniowa konferencja z kilkoma równoległymi ścieżkami. Łącznie odbędzie się 67 wykładów z przeróżnych tematów (od bezpieczeństwa aplikacji bankowych po bezpieczeństwo Internetu Rzeczy). Spotkacie tutaj takie postacie jak Piotr Konieczny, Michał Sajdak, Paula Januszkiewicz czy Łukasz „honey” Jachowicz.

Wydaje mi się, że nie muszę Ciebie zachęcać, jeśli tylko trochę związany(a) jesteś z branżą IT i rzucisz okiem na agendę:

What The H@ck 2018 - agenda

W takim razie do zobaczenia w sobotę, 1 grudnia!

Zapisy: What The H@ck Czas: 1 grudnia 2018, 9:00-18:00 Miejsce: Koszykowa 75, Warszawa (PW, Wydział MiNI) Bilety: obecnie 199 PLN brutto

Artykuł What The H@ck – nowa konferencja już w grudniu! pochodzi z serwisu Mateusz matipl Kamiński.

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.