358 lines
9.9 KiB
Plaintext
358 lines
9.9 KiB
Plaintext
alias ..="cd .."
|
|
alias ...="cd ../.."
|
|
|
|
alias h='cd ~'
|
|
alias c='clear'
|
|
alias art=artisan
|
|
|
|
alias codecept='vendor/bin/codecept'
|
|
alias phpspec='vendor/bin/phpspec'
|
|
alias pint='vendor/bin/pint'
|
|
alias serve=serve-laravel
|
|
|
|
alias xoff='sudo phpdismod -s cli xdebug'
|
|
alias xon='sudo phpenmod -s cli xdebug'
|
|
|
|
alias nrd="npm run dev"
|
|
alias nrw="npm run watch"
|
|
alias nrwp="npm run watch-poll"
|
|
alias nrh="npm run hot"
|
|
alias nrp="npm run production"
|
|
|
|
alias yrd="yarn dev"
|
|
alias yrw="yarn watch"
|
|
alias yrwp="yarn watch-poll"
|
|
alias yrh="yarn hot"
|
|
alias yrp="yarn production"
|
|
|
|
function artisan() {
|
|
php artisan "$@"
|
|
}
|
|
|
|
function dusk() {
|
|
pids=$(pidof /usr/bin/Xvfb)
|
|
|
|
if [ ! -n "$pids" ]; then
|
|
Xvfb :0 -screen 0 1280x960x24 &
|
|
fi
|
|
|
|
if [[ $? -eq 0 ]]
|
|
then
|
|
php artisan dusk
|
|
else
|
|
php artisan dusk --filter "$@"
|
|
fi
|
|
}
|
|
|
|
function p() {
|
|
if [ -f vendor/bin/pest ]; then
|
|
vendor/bin/pest "$@"
|
|
else
|
|
vendor/bin/phpunit "$@"
|
|
fi
|
|
}
|
|
|
|
function pf() {
|
|
if [ -f vendor/bin/pest ]; then
|
|
vendor/bin/pest --filter "$@"
|
|
else
|
|
vendor/bin/phpunit --filter "$@"
|
|
fi
|
|
}
|
|
|
|
function php56() {
|
|
sudo update-alternatives --set php /usr/bin/php5.6
|
|
sudo update-alternatives --set php-config /usr/bin/php-config5.6
|
|
sudo update-alternatives --set phpize /usr/bin/phpize5.6
|
|
}
|
|
|
|
function php70() {
|
|
sudo update-alternatives --set php /usr/bin/php7.0
|
|
sudo update-alternatives --set php-config /usr/bin/php-config7.0
|
|
sudo update-alternatives --set phpize /usr/bin/phpize7.0
|
|
}
|
|
|
|
function php71() {
|
|
sudo update-alternatives --set php /usr/bin/php7.1
|
|
sudo update-alternatives --set php-config /usr/bin/php-config7.1
|
|
sudo update-alternatives --set phpize /usr/bin/phpize7.1
|
|
}
|
|
|
|
function php72() {
|
|
sudo update-alternatives --set php /usr/bin/php7.2
|
|
sudo update-alternatives --set php-config /usr/bin/php-config7.2
|
|
sudo update-alternatives --set phpize /usr/bin/phpize7.2
|
|
}
|
|
|
|
function php73() {
|
|
sudo update-alternatives --set php /usr/bin/php7.3
|
|
sudo update-alternatives --set php-config /usr/bin/php-config7.3
|
|
sudo update-alternatives --set phpize /usr/bin/phpize7.3
|
|
}
|
|
|
|
function php74() {
|
|
sudo update-alternatives --set php /usr/bin/php7.4
|
|
sudo update-alternatives --set php-config /usr/bin/php-config7.4
|
|
sudo update-alternatives --set phpize /usr/bin/phpize7.4
|
|
}
|
|
|
|
function php80() {
|
|
sudo update-alternatives --set php /usr/bin/php8.0
|
|
sudo update-alternatives --set php-config /usr/bin/php-config8.0
|
|
sudo update-alternatives --set phpize /usr/bin/phpize8.0
|
|
}
|
|
|
|
function php81() {
|
|
sudo update-alternatives --set php /usr/bin/php8.1
|
|
sudo update-alternatives --set php-config /usr/bin/php-config8.1
|
|
sudo update-alternatives --set phpize /usr/bin/phpize8.1
|
|
}
|
|
|
|
function php82() {
|
|
sudo update-alternatives --set php /usr/bin/php8.2
|
|
sudo update-alternatives --set php-config /usr/bin/php-config8.2
|
|
sudo update-alternatives --set phpize /usr/bin/phpize8.2
|
|
}
|
|
|
|
function php83() {
|
|
sudo update-alternatives --set php /usr/bin/php8.3
|
|
sudo update-alternatives --set php-config /usr/bin/php-config8.3
|
|
sudo update-alternatives --set phpize /usr/bin/phpize8.3
|
|
}
|
|
|
|
function serve-apache() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/apache.sh
|
|
sudo bash /vagrant/scripts/site-types/apache.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve-apache domain path"
|
|
fi
|
|
}
|
|
|
|
function serve-apache-proxy() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/apache-proxy.sh
|
|
sudo bash /vagrant/scripts/site-types/apache-proxy.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve-apache-proxy domain port"
|
|
fi
|
|
}
|
|
|
|
function serve-laravel() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/laravel.sh
|
|
sudo bash /vagrant/scripts/site-types/laravel.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve domain path"
|
|
fi
|
|
}
|
|
|
|
function serve-proxy() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/proxy.sh
|
|
sudo bash /vagrant/scripts/site-types/proxy.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve-proxy domain port"
|
|
fi
|
|
}
|
|
|
|
function serve-silverstripe() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/silverstripe.sh
|
|
sudo bash /vagrant/scripts/site-types/silverstripe.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve-silverstripe domain path"
|
|
fi
|
|
}
|
|
|
|
function serve-spa() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/spa.sh
|
|
sudo bash /vagrant/scripts/site-types/spa.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve-spa domain path"
|
|
fi
|
|
}
|
|
|
|
function serve-statamic() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/statamic.sh
|
|
sudo bash /vagrant/scripts/site-types/statamic.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve-statamic domain path"
|
|
fi
|
|
}
|
|
|
|
function serve-symfony2() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/symfony2.sh
|
|
sudo bash /vagrant/scripts/site-types/symfony2.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve-symfony2 domain path"
|
|
fi
|
|
}
|
|
|
|
function serve-symfony4() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/symfony4.sh
|
|
sudo bash /vagrant/scripts/site-types/symfony4.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve-symfony4 domain path"
|
|
fi
|
|
}
|
|
|
|
function serve-pimcore() {
|
|
if [[ "$1" && "$2" ]]
|
|
then
|
|
sudo bash /vagrant/scripts/create-certificate.sh "$1"
|
|
sudo dos2unix /vagrant/scripts/site-types/pimcore.sh
|
|
sudo bash /vagrant/scripts/site-types/pimcore.sh "$1" "$2" 80 443 "${3:-8.3}"
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " serve-pimcore domain path"
|
|
fi
|
|
}
|
|
|
|
function share() {
|
|
if [[ "$1" ]]
|
|
then
|
|
ngrok http ${@:2} $1:80 --host-header=rewrite
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " share domain"
|
|
echo "Invocation with extra params passed directly to ngrok"
|
|
echo " share domain -region=eu -subdomain=test1234"
|
|
fi
|
|
}
|
|
|
|
function sshare() {
|
|
if [[ "$1" ]]
|
|
then
|
|
ngrok http ${@:2} $1:443 --host-header=rewrite
|
|
else
|
|
echo "Error: missing required parameters."
|
|
echo "Usage: "
|
|
echo " sshare domain"
|
|
echo "Invocation with extra params passed directly to ngrok"
|
|
echo " sshare domain --subdomain=test1234"
|
|
fi
|
|
}
|
|
|
|
function flip() {
|
|
sudo bash /vagrant/scripts/flip-webserver.sh
|
|
}
|
|
|
|
function __has_pv() {
|
|
$(hash pv 2>/dev/null);
|
|
|
|
return $?
|
|
}
|
|
|
|
function __pv_install_message() {
|
|
if ! __has_pv; then
|
|
echo $1
|
|
echo "Install pv with \`sudo apt-get install -y pv\` then run this command again."
|
|
echo ""
|
|
fi
|
|
}
|
|
|
|
function dbexport() {
|
|
FILE=${1:-/vagrant/mysqldump.sql.gz}
|
|
|
|
# This gives an estimate of the size of the SQL file
|
|
# It appears that 80% is a good approximation of
|
|
# the ratio of estimated size to actual size
|
|
SIZE_QUERY="select ceil(sum(data_length) * 0.8) as size from information_schema.TABLES"
|
|
|
|
__pv_install_message "Want to see export progress?"
|
|
|
|
echo "Exporting databases to '$FILE'"
|
|
|
|
if __has_pv; then
|
|
ADJUSTED_SIZE=$(mysql --vertical -uhomestead -psecret -e "$SIZE_QUERY" 2>/dev/null | grep 'size' | awk '{print $2}')
|
|
HUMAN_READABLE_SIZE=$(numfmt --to=iec-i --suffix=B --format="%.3f" $ADJUSTED_SIZE)
|
|
|
|
echo "Estimated uncompressed size: $HUMAN_READABLE_SIZE"
|
|
mysqldump -uhomestead -psecret --all-databases --skip-lock-tables --routines 2>/dev/null | pv --size=$ADJUSTED_SIZE | gzip > "$FILE"
|
|
else
|
|
mysqldump -uhomestead -psecret --all-databases --skip-lock-tables --routines 2>/dev/null | gzip > "$FILE"
|
|
fi
|
|
|
|
echo "Done."
|
|
}
|
|
|
|
function dbimport() {
|
|
FILE=${1:-/vagrant/mysqldump.sql.gz}
|
|
|
|
__pv_install_message "Want to see import progress?"
|
|
|
|
echo "Importing databases from '$FILE'"
|
|
|
|
if __has_pv; then
|
|
pv "$FILE" --progress --eta | zcat | mysql -uhomestead -psecret 2>/dev/null
|
|
else
|
|
cat "$FILE" | zcat | mysql -uhomestead -psecret 2>/dev/null
|
|
fi
|
|
|
|
echo "Done."
|
|
}
|
|
|
|
function xphp() {
|
|
(php -m | grep -q xdebug)
|
|
if [[ $? -eq 0 ]]
|
|
then
|
|
XDEBUG_ENABLED=true
|
|
else
|
|
XDEBUG_ENABLED=false
|
|
fi
|
|
|
|
if ! $XDEBUG_ENABLED; then xon; fi
|
|
|
|
HOST_IP=$(last --limit=1 | grep -oP '\d+(\.\d+){3}')
|
|
|
|
php \
|
|
-dxdebug.client_host=${HOST_IP} \
|
|
-dxdebug.start_with_request=yes \
|
|
"$@"
|
|
|
|
if ! $XDEBUG_ENABLED; then xoff; fi
|
|
}
|