PHP авто комментарии и документация

Редакция автор: stain

Расширение neilbrayfield.php-docblocker для VS Code подготавливает комментарии для классов, функций и методов, согласно их параметрам. Для того чтобы сформировать автокомментарий, наберите /**, и нажмите ввод.

Для подготовки автодокументации используется phpdocumentor
Скачиваем www.phpdoc.org/phpDocumentor.phar
1.Установка глобально, я кинул в каталог с php, создал там же phpDoc.cmd.

@set PHP_BIN=php.exe @set PHP_DIR=D:\web\tools\php\php-7.1-x64\
@"%PHP_BIN%" -d output_buffering=0 "%PHP_DIR%phpDocumentor.phar" %* 

Проверил phpdoc --version.

2.А теперь, находясь в директории проекта, который вы покрыли докблоками, просто запустите из консоли: phpdoc -d . -t ./src, -d/f указываем на директорий или файл по которому будет строиться хелп, -t указываем на каталог куда положим готовую документацию.

P.S.: Через композер, не получилось, зависимости не хотели разрешаться composer global require —dev "phpdocumentor/phpdocumentor:2.*".

После того как набрел на плагин в vscode, заметил еще статью по автодокументации.
Комментирование кода и генерация документации в PHP

Комментариев: 0

Подключение линтеров в VS Code

Редакция автор: stain

Выбираете в папке php конфиг для разработки и копируете его с именем php.ini.
Настройка конфигурации свежескаченого php. Например:

include_path = ".;d:/web/php/PHP-7.2-x64;d:/web/php/PHP-7.2-x64/PEAR/pear"
extension_dir = "D:/web/tools/php/php-7.2-x64/ext"
extension=openssl

Путь до php добавить в path windows.Например:
D:\web\tools\php\php-7.2-x64

Расположение глобальных пакетов. C:/Users/%USERNAME%/AppData/Roaming/Composer

Путь до батников расширений линтеров добавить в path windows.
C:\Users\%USERNAME%\AppData\Roaming\Composer\vendor\bin

Установка линтеров глобально.
Для ikappas.phpcs php composer.phar global require "squizlabs/php_codesniffer=*"
Для cerzat43.twigcs php composer.phar global require allocine/twigcs

Скачать php composer

Комментариев: 0

Виртуальные хосты на apache2 под Ubuntu 16.04lts

Редакция автор: stain

Ubuntu 16.04 Lts +Apache2 +Несколько доменов на одном IP + сайты в каталоге пользователя

Добавить в /etc/apache2/apache2.conf после других аналогичных записей:
sudo nano /etc/apache2/apache2.conf


  AllowOverride All
  Require all granted
 

Добавить в самом низу файла /etc/apache2/apache2.conf

ServerName localhost

Меняем очередность файлов индекса, переставляем index.php в начало списка в файле /etc/apache2/mods-available/dir.conf.
sudo nano /etc/apache2/mods-available/dir.conf


  DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm 
 

===Цикл===

//Добавляем виртуальные хосты
sudo nano /etc/hosts

127.0.0.1 localhost вашсайт

//Копируем базовый конфиг /etc/apache2/sites-available/000-default.conf
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/вашсайт.conf

//Правим /etc/apache2/sites-available/вашсайт.conf
sudo nano /etc/apache2/sites-available/вашсайт.conf

ServerName ВашСайт 
DocumentRoot /home/YourUserName/public_html/вашсайт 

//Включаем сайт в apache2
sudo a2ensite вашсайт

//Перезапускаем apache2
sudo service apache2 reload
===/Цикл===

Права на каталог ~/public_html
sudo adduser USERNAME www-data
sudo chown USERNAME:www-data -R ~/public_html
chmod -R 775 ~/public_html
Мы добавили себя в группу www-data (поскольку от пользователя www-data группы www-data работает Apache) Сделали группу www-data группой владельца корневой папки наших сайтов. Присвоили для этой папки права чтения и записи для владельца и его группы. Это нужно для того, чтобы пользователи YourUserName (от имени которого мы заливаем файлы на сервер) и пользователя www-data (от имени которого работает веб-сервер) имели одинаковые права.

При добавлении каждого сайта над его папкой нужно будет производить эту процедуру (кроме первой команды; только не ко всей public_html, а лишь к папке нового сайта). Также нужно это делать для новых файлов, требующих изменения со стороны сервера.

===частьЦикла===

sudo chown USERNAME:www-data -R ~/public_html/вашсайт
chmod -R 775 ~/public_html/вашсайт
===/частьЦикла===

!!!Чтобы получить доступ с другого компьютера, на удаленном компьютере прописываем в файл C:\Windows\System32\drivers\etc\hosts IP-adress-servera вашсайт

P.S: При привязке git, а вернее во время передачи данных, происходит запрос в каталог ~/.config , по умолчанию у него права root (хотя может быть я что то лишнее запустил в режиме sudo) решение:
Идем на сервер через ssh в папку в домашний директорий пользователя ~/
Смотрим права:
sudo ls -la
Меняем владельца если нужно:
sudo chown USERNAME:www-data -R ~/.config

Скрипт цикла создания виртуального хоста

Скрипт создает виртуальный хост/каталог/запись в файле hosts/конфигурационный файл, изменяет в конфигурационном файле параметр ServerName и DocumentRoot перезапускает apache.
Пример запуска sudo bash createhost.sh sitename username

#!/bin/bash
#sudo bash snc.sh site user
if [ -z $1 ] ; then
echo «Do not set your domain name.»
exit 1 ; fi
if [ -z $2 ] ; then
username='im'
echo «Do not set your user name.» ; fi

mkdir -p /home/$username/public_html/$1/public_html
echo "127.0.0.1 "$1 | sudo tee -a /etc/hosts

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/$1.tmp.conf

sed -e "s!\#ServerName www.example.com!ServerName ${1}!; s!DocumentRoot /var/www/html!DocumentRoot /home/${username}/public_html/${1}/public_html!" /etc/apache2/sites-available/$1.tmp.conf > /etc/apache2/sites-available/$1.conf
rm /etc/apache2/sites-available/$1.tmp.conf

a2ensite $1
chown $username:www-data -R /home/$username/public_html/$1
chmod -R 775 /home/$username/public_html/$1

Источник из 2014

Комментариев: 0

Анализ дискового пространства хостинга через ssh

Редакция автор: stain

Покажет информацию о текущем каталоге, в виде папок/файлов отсортированных по размеру занятого ими места на диске.

du -s * | sort -nr

Просто размер занимаемый содержимым текущей папки.

du -hs

Комментариев: 0

Почта для домена на Yandex

Редакция автор: stain

1. Хостинг - фаза 1.

Заходите на ваш хостинг, выбираете и настраиваете mx запись mx 10 mx.yandex.net (на ТаймВеб, достаточно выбрать вкладку яндекса, и нажать кнопку сохранить).

2. Yandex - фаза 1.

Регистрируете обычную учетную запись на yandex.ru. Заходите по адресу https://pdd.yandex.ru. Добавляете ваш домен.

3. Хостинг - фаза 2.

Кидаете на домен в корень сайта(через FTP/SFTP/SSH или админку хостера) файл верификации.

4. Yandex - фаза 2.

Настраиваете в Редакторе DNS на https://pdd.yandex.ru/domain_ns/ВашДомен/ записи:

Хост Тип Значение записи
imap A IP-адрес_вашего сайта
@ A IP-адрес_вашего сайта
pop3 A IP-адрес_вашего сайта 
smtp A IP-адрес_вашего сайта 
www A IP-адрес_вашего сайта

Проходите проверку валидации.

Проверяете подключение к домену на yandex.ru, создаете необходимые учетные записи пользователей и учетку для спама. Настраиваете домен, а именно выбираете на какой почтовый ящик слать письма присланные на несуществующие почтовые ящики.

Теперь самое главное, чтобы ящики полноценно работали, необходимо залогиниться на самом яндексе в почтовый ящик пользователя, и там ввести дополнительную информацию, после этого почтовый ящик пользователя начнет присылать и отправлять письма.

Комментариев: 0