Biz özel bir PHP / MySQL CMS aynı sunucu üzerinde birden fazla siteleri (20 +) dışarı haddelenmiş Linux / Apache thats çalışan var. Her site özelleştirilmiş olan her site için bir kaç dosyaları ile tam olarak aynı CMS dosyalarını kullanır.
Her site için özel dosyalar şunlardır:
/library/mysql_connect.php
/public_html/css/*
/public_html/ftparea/*
/public_html/images/*
Her site için benzersiz olan /public_html/includes/
içindeki diğer rasgele dosyaların bir çift de var. Sunucuda bu her sitenin dışında aynı dosyaları kullanır. Içinde otururken Her site /home/username/
. Çoğaltma büyük bir miktar biz her kullanıcı hesabı güncellemek için gereken bir sistem güncelleştirmesini dağıtmak istediğiniz her zaman burada olduğu açıktır. Ortak site dosyaları hepimiz sadece SVN taahhüt ve oradan doğrudan tek bir yere dağıtmak mümkün olsaydı çok daha mantıklı olur SVN'de saklanır önüne alındığında. Ne yazık ki, bu aşamada önemli bir mimari değişiklik yapmadan sorunlu olabilir. Aklımda ideal bir senaryo /home/commonfiles/
ve bir hesap belirli dosya olmadıkça bu ortak dosyaları kullanarak her site gibi bir hesap oluşturma anlamına gelir, örneğin, bir istek /home/user/public_html/index.php
yapılır ama bu kadar dosya isteği sonra /home/commonfiles/public_html/index.php
yönlendirilir yok. Ben genellikle bu yaklaşım, Zend Framework (ve muhtemelen diğerleri) index.php belirli bir dosyayı eşleşen Yüklü tüm isteklerini yönlendirmek nasıl benzer, mümkün olduğunu biliyoruz. Ben sadece uygulama hakkında ve onun aslında tavsiye edip gitmek nasıl tam olarak emin değilim. Gerçekten herhangi bir giriş / fikirler insanlar var bekleriz.
EDIT AllenJB sözleri, biz daha önce bu potansiyel bir çözüm olarak AliasMatch araştırdı ki, biz böyle bir şey baktım bir kullanıcı için bir general.conf dosyası ile sona erdi hatırlattı:
php_admin_value open_basedir "/home/commonfi:/home/usertes:/usr/lib/php:/usr/local/lib/php:/tmp"
php_admin_value include_path "/home/commonfi"
AliasMatch (.*).php /home/commonfi/public_html/$1.php
AliasMatch (.*).html /home/commonfi/public_html/$1.html