ในส่วนของWordPress WordPress Vagrant Environment พื้นฐานพร้อมที่จะทำงานกับเวิร์ดเพรสรุ่นใดก็ได้ (ด้วยความช่วยเหลือเล็กน้อย) คุณยังคงต้องไปหาวิธีการกำหนดค่า PHP https://github.com/ideasonpurpose/basic-wordpress-box/blob/master/ansible/roles/php/tasks/php.yml
แต่มีคำแนะนำใน
หากต้องการใช้มันนอกกรอบ; ดาวน์โหลดหรือคัดลอกโครงการไปยังwplatest-php55.dev/
และทำงานvagrant up
การติดตั้งVagrant Host Managerจะเชื่อมโยง IP กับโฟลเดอร์ของคุณโดยอัตโนมัติhttp://wplatest-php55.dev/
สร้างหลายสภาพแวดล้อมจากรุ่น WP ผ่าน install-wp.sh
ตรวจสอบไฟล์เก็บถาวรสำหรับรุ่น WordPress ที่เป็นไปได้ https://wordpress.org/download/release-archive/
# PWD (script directory)
# ├── common_folder
# ├── wp39-php55.dev
# │ └── site/common_folder
# ├── wp42-php55.dev
# │ └── site/common_folder
# └── wp431-php55.dev
# └── site/common_folder
นี่คือสคริปต์ที่ดึงต้นแบบสภาพแวดล้อม Vagrant ไปยังไดเรกทอรีของสคริปต์ทุบตีโคลนไซต์สำหรับแต่ละรุ่นในอาร์เรย์กำหนดค่างานติดตั้งเพื่อใช้รุ่น WP นั้นและช่วยให้คุณระบุไฟล์ / โฟลเดอร์เพื่อคัดลอกไปยังเว็บไซต์ทั้งหมดก่อน vagrant up
คุณ
วางสิ่งนี้ลงในไฟล์install-wp.sh
จากนั้นเรียกใช้chmod +x install-wp.sh
เพื่อให้สามารถเรียกใช้งานได้ ./install-wp.sh
ค้นหาโฟลเดอร์ที่คุณต้องการสร้างกล่องเหล่านี้ทั้งหมดและการทำงาน มันจะสร้างโครงสร้างด้านบน
เนื่องจากคุณต้องการที่จะทดสอบปลั๊กอินของคุณในทุกรุ่นทำให้โฟลเดอร์ในไดเรกทอรีเดียวกันเป็นสคริปต์ที่ทำงานแล้วwp-content/plugins/your-plugin
install-wp.sh wp-content
ไฟล์ / wp-content
โฟลเดอร์จะถูกคัดลอกไปยังรากของแต่ละเว็บไซต์ซึ่งเป็นเหตุผลที่ผมขอแนะนำให้
install-wp.sh
#!/bin/bash
#
# Author: Jesse Graupmann @jgraup - http://www.justgooddesign.com - 2015
#
# Create multiple WordPress sites based on version numbers in array.
#
# ( OPTIONAL )
# Copy common file/folder to all sites - Pass as parameter $1
#
# Each site runs in a Vagrant Environment:
# https://github.com/ideasonpurpose/basic-wordpress-vagrant
#
# Best if used with:
# https://github.com/smdahlen/vagrant-hostmanager
#
# PWD (script directory)
# ├── common_folder
# ├── wp39-php55.dev
# │ └── site/common_folder
# ├── wp42-php55.dev
# │ └── site/common_folder
# └── wp431-php55.dev
# └── site/common_folder
# WordPress Versions
versions=( 3.9 4.2 4.3.1 )
# Move to the current directory
base=$(pwd); cd $base
# Vagrant Environment
remote_master="https://github.com/ideasonpurpose/basic-wordpress-vagrant/archive/master.zip"
vagrant_master_zip=$base/basic-wordpress-vagrant.zip
# Download Latest Environment - overwrite file for latest
wget -v -O $vagrant_master_zip $remote_master
# Loop through version #s
for VERSION in "${versions[@]}" ; do
flatv="${VERSION//.}"
dirname=wp$flatv-php55.dev
# Clone Environment
echo -e "\nCloning to: $base/$dirname\n"
mkdir -p $base/$dirname
tar -zxvf $vagrant_master_zip -C $base/$dirname --strip-components=1
# WordPress Versions
# Archives: https://wordpress.org/download/release-archive/
# Version: https://wordpress.org/wordpress-{{ wp-version }}.tar.gz
# Latest: https://wordpress.org/latest.tar.gz
# Path to Ansible task
yml=$(cat $base/$dirname/ansible/roles/wordpress/tasks/install.yml)
### REPLACE THE ANSIBLE WP VERSION w/OUR VERSION
wp_url_latest="https:\/\/wordpress.org\/latest.tar.gz"
wp_url_version="https://wordpress.org/wordpress-$VERSION.tar.gz"
echo "${yml/$wp_url_latest/$wp_url_version}" > $base/$dirname/ansible/roles/wordpress/tasks/install.yml
# (OPTIONAL) Copy common file/folder to all sites!
# pass as argument to .sh
#
# Example Folder:
# Make a common wp-content folder, then run install with
#
# ./install-wp.sh wp-content
#
# Example File:
# Make a text file, then run install with
#
# ./install-wp.sh my_file.txt
#
common_dest=$base/$dirname/site/
# Copy Folder
if [ -d "$1" ]; then
echo "Copying $1 --> $common"
# Directory must exist
if [ -d "$1" ]; then
folder_name=$(basename $1)
mkdir -p $common_dest/$folder_name;
fi
cp -r $1 $common_dest
# or File
elif [ -f "$1" ]; then
echo "Copying $1 --> $common_dest"
file_name=$(basename $1)
cp $1 $common_dest/$file_name
fi
## Create doc for quick glance at version number
dest="$base/$dirname"
remotewpzip="https://wordpress.org/wordpress-$VERSION.tar.gz"
txt=$dest/download-wp-$VERSION.txt
touch $txt
printf "WordPress Version: $VERSION - https://wordpress.org/download/release-archive/\n\nDownload Zip: $remotewpzip\n" > $txt
done
# The rest is just for show
echo -e "\nDone!\n\nNow just run 'vagrant up' in any of these:\n"
for VERSION in "${versions[@]}" ; do
flatv="${VERSION//.}"
dirname=wp$flatv-php55.dev
echo -e "\t"$base/$dirname "\thttp://"$dirname
done
echo -e "\nMore Vagrant env info @ https://github.com/ideasonpurpose/basic-wordpress-vagrant"
echo -e "Best if used with https://github.com/smdahlen/vagrant-hostmanager\n\nENJOY!"
ปรับปรุง:
มันจะเปิดออกWordPress จรจัดสิ่งแวดล้อมพื้นฐานไม่ได้จริงๆการตั้งค่าในการจัดการรุ่น PHP หลาย แต่Wordpress กล่องพื้นฐานอาจจะถ้าคุณปรับงาน PHP ฉันคิดว่าฉันจะทิ้งเชลล์ของสคริปต์ที่จะจัดการ php หลายเวอร์ชัน
#!/bin/bash
############################################
#
# PWD (script directory)
# ├── wp39-php55.dev
# ├── wp42-php55.dev
# └── wp431-php55.dev
#
############################################
# WordPress Versions
versions=( 3.9 4.2 4.3.1 )
# PHP Versions
pversions=( 5.4 5.5 5.6 )
############################################
# Move to the current directory
base=$(pwd); cd $base
############################################
# PHP Loop
for PVERSION in "${pversions[@]}" ; do
pflatv="${PVERSION//.}"
echo -e "==> PHP: $PVERSION\n"
# WordPress loop
for VERSION in "${versions[@]}" ; do
flatv="${VERSION//.}"
############################################
dirname=wp$flatv-php$pflatv.dev
############################################
# Environment
echo -e "\t"$base/$dirname "\thttp://"$dirname
mkdir -p $base/$dirname
############################################
# WordPress Versions
# Archives: https://wordpress.org/download/release-archive/
# Version: https://wordpress.org/wordpress-{{ wp-version }}.tar.gz
# Latest: https://wordpress.org/latest.tar.gz
############################################
wp_url_latest="https:\/\/wordpress.org\/latest.tar.gz"
wp_url_version="https://wordpress.org/wordpress-$VERSION.tar.gz"
# Download WP
echo -e "\tDownload WP: $wp_url_version"
############################################
# PHP Packages at https://launchpad.net/~ondrej
# You can get more information about the packages at https://deb.sury.org
# For PHP 5.6 use: ppa:ondrej/php5-5.6
# For PHP 5.5 use: ppa:ondrej/php5
# For PHP 5.4 use: ppa:ondrej/php5-oldstable
############################################
# Config PHP
echo -e "\tConfigure PHP: $PVERSION\n"
done # WordPress version
done # PHP version
exit 1
phpenv
เพื่อจัดการ PHP เวอร์ชันต่าง ๆ อาจเป็นการรวมกันของสิ่งนั้นและการชำระเงิน SVN ของ repo WordPress ทั้งหมด (ซึ่งจะมีทุกรุ่นที่อยู่ด้านล่าง/tags
) อาจเป็นการเริ่มต้นหรือไม่