Size: a a a

2020 April 29

СХ

Сергей Худояров... in pro.js
но к пхпшникам сейчас попробую обратиться..
источник

СХ

Сергей Худояров... in pro.js
я немного умею админить, а вот пхп\js не знаю..
источник

DE

Denis Efremov in pro.js
Сергей Худояров
я немного умею админить, а вот пхп\js не знаю..
А что это за система?
источник

СХ

Сергей Худояров... in pro.js
Если про сервер, то продакшн на Astra Linux (дикая дичь), а другой сервер пробовал чистую ubuntu server 18.04 - с нуля ставил apache + php7.1 - один шиш, не фурычит
источник

СХ

Сергей Худояров... in pro.js
а сама штуковина - некий Портал Вуза  от 1с
источник

DE

Denis Efremov in pro.js
Покажи код install.php
источник

СХ

Сергей Худояров... in pro.js
источник

СХ

Сергей Худояров... in pro.js
наверное так проще всего
источник

СХ

Сергей Худояров... in pro.js
т.к. код разбит на кучу файлов
источник

DE

Denis Efremov in pro.js
на yii
источник

СХ

Сергей Худояров... in pro.js
urlrewrite это для IIS веб сервера. у апача эта штука mod_rewrite
источник

СХ

Сергей Худояров... in pro.js
это сообщение убирается после нажатия кнопки "сохранить". она сохраняет в корень сайта файл .htaccess (что показывает, что код как-то работает и у него есть возможность писать)
источник

СХ

Сергей Худояров... in pro.js
скрин сделан в процессе отладки JS,  т.к. мне кажется что дело в php  функции webserver/setup
источник

СХ

Сергей Худояров... in pro.js
я тоже думаю, что проект цел, но почему-то у меня не получилось его поставить на 2 сервера,. уже не знаю куда и думать
источник

DE

Denis Efremov in pro.js
В контроллере WebserverController
источник

DE

Denis Efremov in pro.js
Там не нужен реврайт
источник

DE

Denis Efremov in pro.js
<?php
class WebserverController
{
   public function setup()
   {
       $webserver = $_POST['group1'];
       if (PHP_OS == 'WINNT' or PHP_OS == 'WIN32' or PHP_OS == 'Windows') {
           $destination = str_replace('frontend\web', '', getcwd());
       } else {
           $destination = str_replace('frontend/web', '', getcwd());
       }

       $result = false;
       try {
           switch ($webserver)
           {
           case ('apache'):
               copy(getcwd() . '/install/confs/.htaccess', "{$destination}.htaccess");
               if (file_exists("{$destination}.htaccess")) {
                   $result = true;
                   $url    = "{$_SERVER['HTTP_ORIGIN']}/user/sign-in/login";
               }
               break;
           case ('iis'):
               copy(getcwd() . '/install/confs/web.config', "{$destination}web.config");
               if (file_exists("{$destination}web.config")) {
                   $result = true;
                   if ($_SERVER['SERVER_PROTOCOL'] = 'HTTP/1.1') {
                       $url = "http://{$_SERVER['HTTP_HOST']}/user/sign-in/login";
                   } else {
                       $url = "https://{$_SERVER['HTTP_HOST']}/user/sign-in/login";
                   }
               }
               break;
           default:$result = true;
           }
       }
       catch (Exception $ex)
       {
           error_log($ex);
           http_response_code(400);
           header('Content-Type: text/plain');
           echo false;
       }

       $response = @get_headers($url);
       if (!$response || $response[0] == "{$_SERVER['SERVER_PROTOCOL']} 404 Not Found") {
           $response = false;
       } else {
           $response = true;
       }

       if ($result && $response !== false) {
           http_response_code(200);
           header('Content-Type: text/plain');
           echo true;
       } else {
           if ($response === false) {
               if ($webserver == 'apache') {
                   http_response_code(401);
               }
               elseif ($webserver == 'iis') {
                   http_response_code(402);
               } else {
                   http_response_code(400);
               }
           }
           if ($result === false) {
               http_response_code(400);
           }
           header('Content-Type: text/plain');
           echo false;
       }
   }
}
источник

СХ

Сергей Худояров... in pro.js
да, там норм. ну как норм.. насколько я мог дотянуться своей головой..
логи - ошибок нет, сообщения только в access.log с кодом ответа 401 к этому запросу. Т.е. апач не считает это ошибкой
rewrite точно рабочий, проверял
источник

S

Syntax Highlight Bot in pro.js
Denis Efremov
<?php
class WebserverController
{
   public function setup()
   {
       $webserver = $_POST['group1'];
       if (PHP_OS == 'WINNT' or PHP_OS == 'WIN32' or PHP_OS == 'Windows') {
           $destination = str_replace('frontend\web', '', getcwd());
       } else {
           $destination = str_replace('frontend/web', '', getcwd());
       }

       $result = false;
       try {
           switch ($webserver)
           {
           case ('apache'):
               copy(getcwd() . '/install/confs/.htaccess', "{$destination}.htaccess");
               if (file_exists("{$destination}.htaccess")) {
                   $result = true;
                   $url    = "{$_SERVER['HTTP_ORIGIN']}/user/sign-in/login";
               }
               break;
           case ('iis'):
               copy(getcwd() . '/install/confs/web.config', "{$destination}web.config");
               if (file_exists("{$destination}web.config")) {
                   $result = true;
                   if ($_SERVER['SERVER_PROTOCOL'] = 'HTTP/1.1') {
                       $url = "http://{$_SERVER['HTTP_HOST']}/user/sign-in/login";
                   } else {
                       $url = "https://{$_SERVER['HTTP_HOST']}/user/sign-in/login";
                   }
               }
               break;
           default:$result = true;
           }
       }
       catch (Exception $ex)
       {
           error_log($ex);
           http_response_code(400);
           header('Content-Type: text/plain');
           echo false;
       }

       $response = @get_headers($url);
       if (!$response || $response[0] == "{$_SERVER['SERVER_PROTOCOL']} 404 Not Found") {
           $response = false;
       } else {
           $response = true;
       }

       if ($result && $response !== false) {
           http_response_code(200);
           header('Content-Type: text/plain');
           echo true;
       } else {
           if ($response === false) {
               if ($webserver == 'apache') {
                   http_response_code(401);
               }
               elseif ($webserver == 'iis') {
                   http_response_code(402);
               } else {
                   http_response_code(400);
               }
           }
           if ($result === false) {
               http_response_code(400);
           }
           header('Content-Type: text/plain');
           echo false;
       }
   }
}
источник

DE

Denis Efremov in pro.js
Это блять уродливое говно. Ни капельки фантазии
источник