I'm developing a PHP app with the following structure:
my-app/
WEB/
css/
images/
javascript/
index.php
.htaccess
lib/
my-app/
...
config.php
The web server is pointed to the WEB directory and lib is in PHP's include_path.
mod_rewrite is used to rewrite requests to missing files to index.php, which loads a RequestDispatcher class from lib to do the processing.
In previous apps I've been using a configuration file which stores the application base URL path, e.g.:
$CFG['app']['context_path'] = '/my-app';
Now I'm developing a web app which should be available at multiple URL paths at the same time from one codebase - e.g. in /usr/share/my-app and multiple domains can use it from there and map it to freely choosen path by e.g. symlinking, Alias-ing, etc .
There are multiple propsed solutions on the net but none of the ones I've found works reliably.
The proposed solution should work in all PHP web execution environments:
when the URL path mapping is done via:
DocumentRoot /usr/share/my-app/WEB, path: ''DOCROOT/my-app -> /usr/share/my-app/WEB, path: /my-appAlias-ing - Alias /my-app/ /usr/share/my-app/WEB/, path: /my-appmod_userdir - /home/USER/public-html/my-app -> /usr/share/my-app/WEB, path: /~USER/my-appI've developed the following:
$app_base_url_path = str_replace( '/' . \basename(__FILE__), '', $_SERVER['PHP_SELF'] );
which, when put in WEB/index.php, works in common cases but still has some issues in some of the tested scenarios. E.g:
/home/USER/public_html( where mod_userdir is also pointed to ) and he app is accessed as /~USER/my-app/, the path is returned as just /my-app (where its also available BTW), which is incorrect and can cause problems when used for e.g. a COOKIE path. This might be Apache HTTPd bug though, as $_SERVER['CONTEXT_PREFIX'] is empty, while it should be /~USER IMHO.I've also had thoughts on making a subrequest to a predefined known return URL part:
/my-app/abc/efg/g/m?d=5&fff=8443#5
/my-app/abc/efg/g/MY-KNOWN-RVAL
/my-app/abc/efg/MY-KNOWN-RVAL
/my-app/abc/MY-KNOWN-RVAL
/my-app/MY-KNOWN-RVAL
until the known result is returned. This might be usable for some apps, but has too much overhead for mine.
My tests were done with PHP 7.3 running as mod_php on Apache 2.4.38 on Debian 10 (Buster).
P.S.I'm also interested in results in different environments(including other web servers), espesially ones which are not too common. If you find this working or not please post a comment with your environment details and results.
References:
Роджър Уотърс в едно интервю, провокирано от ареста на Асанж в Лондон.
Впечатлен съм ..
https://www.youtube.com/watch?v=8W9DqF6K7Pk
https://www.youtube.com/watch?v=rfP7mtrfSlk
Винетки ще купувате скоро. Направете го от официалния сайт https://www.BGTOLL.bg .
Продажните ни политици договориха огромни комисионни с дистрибутори като А1 и тези пари отиват при тях вместо за пътища.
Около 14% беше комисонната доколкото помня, като им разкриха далаверите. Сега гледам са го намалили на 7-8 % .
Разпространяват и някакви фейк постове, в които видиш ли на официалния сайт, дори като си въведеш правилно номера, ти връща бележка за грешен и не можеш да го коригираш. Не е трудно да се сетим кой има интерес от това.
Убийте ме, но няма да повярвам, че ФПЧ от печките на дърва са особено вредни. Би следвало да сме имали достатъчно време еволюционно да се адаптираме към такъв дим. Има далеч по-задимени градчета и села от София - такива в котловини при безветрие.
ФПЧ е общо понятие и не знам колко трябва да си прост за да слагаш цялата менделева таблица под общ знаменател. Дали дишаме ФПЧ със състав от олово, сяра, въглерод или пък калиев цианид би следвало да има значение, нали ?
Понеже гледам, че се излагат разни хора, включително и авторитетни сайтове и организации, да взема да внеса едно уточнение.
Десетилетието не свършва с тази година, а със следващата. Също както и векът не свърши с 1999г, а последната му година беше 2000. Както ви е добре известно в едно десетилетие има 10г, а в един век има 100 . Имало е година първа след Христа. Година нулева не. И да, новото хилядолетие започна година след големите фанфари - с началото на 2001г.
Няколко интересни неща в това интервю:
Коментар от мен:
Твърде вероятно е скоро да направят автономните автомобили. Пътната мрежа и обучението на автопилот с камери, сонари и радари е далеч от оптималния път. Още навремето съм споделял идея за еднорелсова мрежа с висящи малки вагонетки, които могат да се включват към нея от отклонение в блока ви. Да можете да си ги викате, спокойно да си товарите багажа и да им задавате дестинация. В последствие SkyWay започнаха да работят по подобен транспорт. Явно на Тесла няма кой да им позволи да започнат да променят цялата транспортна мрежа на САЩ. Затова ще направят автопилота и "супер секси" автомобили, които всички ще искат. Когато се наложат постепенно ще започнат да променят и инфраструктурата така, че да е подходяща за автономни превозни средства. Да не забравяме че Илън има и още един подобен проект - транспорта в тунели разработван от Boring Company. Също така работеше и по идеята за свръх високоскоростен транспорт на дълги разстояния - HyperLoop, което в последствие премина към Ричард Брансън и неговата Virgin .
Clone this guy. We need full redundancy.
Беше понапекло следобяд и реших, че е поне 10 градуса. Като излязох към 15:30 с колелото ми се стори хладничко. 5 градуса сочеха спирките на автобусите, но реших, че са в грешка и не може да е толкова студено при това слънце. След малко обаче, като започнах да заобикалям замръзнали локви разбрах, че наистина са в грешка, но в обратната посока. 1°C било ..
Днес попаднах на тази статия:
за това интервю:
Миналата година имах идея да коментирам важните неща в интервюто на Илън с Joe Rogan, но не го направих.
Темите, както и в предното интервю са ми супер интересни.
Ето кратко резюме:
На всички вас, които вярвате в Американската мечта, бленувате по Прекрасният нов свят и считате, че спасението ви е някъде на запад, бих желал да препоръчам следния документален филм на National Geographic:
Има четири части, като може да започнете с последната:
Ако имате проблем с намирането на някой епизод ми пишете.