<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Evgeny Neverov</title><generator>teletype.in</generator><description><![CDATA[Evgeny Neverov]]></description><link>https://evgeny.neverov.name/?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/demone?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/demone?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Tue, 12 May 2026 11:59:28 GMT</pubDate><lastBuildDate>Tue, 12 May 2026 11:59:28 GMT</lastBuildDate><item><guid isPermaLink="true">https://evgeny.neverov.name/rest-api-update-registration</guid><link>https://evgeny.neverov.name/rest-api-update-registration?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/rest-api-update-registration?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>Перерегистрация на сервере авторизации приложений в Битрикс24</title><pubDate>Mon, 30 Mar 2026 07:25:16 GMT</pubDate><description><![CDATA[Симптоматика: вы во входящем запросе пользователя получаете auth_token, который сразу же считается просроченным. Решение — перерегистрация кодом выше + переустановка приложений.]]></description><content:encoded><![CDATA[
  <pre id="aZ5V">\Bitrix\Main\Loader::includeModule(&#x27;rest&#x27;);

$oldClientId = \Bitrix\Main\Config\Option::get(&#x27;rest&#x27;, &#x27;service_client_id&#x27;, null);

$oldClientSecret = \Bitrix\Main\Config\Option::get(&#x27;rest&#x27;, &#x27;service_client_secret&#x27;, null);

print_r(&#x27;old service_client_id: &quot;&#x27;.$oldClientId.&#x27;&quot;&#x27;);

print_r(&#x27;old service_client_secret: &quot;&#x27;.$oldClientId.&#x27;&quot;&#x27;);



\Bitrix\Main\Config\Option::delete(&#x27;rest&#x27;, [&#x27;name&#x27; =&gt; &#x27;service_client_id&#x27;]);

\Bitrix\Main\Config\Option::delete(&#x27;rest&#x27;, [&#x27;name&#x27; =&gt; &#x27;service_client_secret&#x27;]);



try

{

\Bitrix\Rest\OAuthService::register();

\Bitrix\Rest\OAuthService::getEngine()-&gt;getClient()-&gt;getApplicationList();

}

catch(\Bitrix\Main\SystemException $e)

{

echo &#x27;error register portal&#x27;;

echo &quot;\n &lt;br&gt; \n&quot;;

}

$newClientId = \Bitrix\Main\Config\Option::get(&#x27;rest&#x27;, &#x27;service_client_id&#x27;, null);

$newClientSecret = \Bitrix\Main\Config\Option::get(&#x27;rest&#x27;, &#x27;service_client_secret&#x27;, null);

if (

!is_null($oldClientId)

&amp;&amp; !is_null($oldClientSecret)

&amp;&amp; is_null($newClientId)

&amp;&amp; is_null($newClientSecret)

)

{

\Bitrix\Main\Config\Option::set(&#x27;rest&#x27;, &#x27;service_client_id&#x27;, $oldClientId);

\Bitrix\Main\Config\Option::get(&#x27;rest&#x27;, &#x27;service_client_secret&#x27;, $oldClientSecret);

}</pre>
  <p id="EgXP">Симптоматика: вы во входящем запросе пользователя получаете auth_token, который сразу же считается просроченным. Решение — перерегистрация кодом выше + переустановка приложений.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://evgeny.neverov.name/0755-dirs-0644-files</guid><link>https://evgeny.neverov.name/0755-dirs-0644-files?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/0755-dirs-0644-files?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>0755 на папки, 0644 на файлы</title><pubDate>Mon, 08 Sep 2025 06:25:43 GMT</pubDate><description><![CDATA[Запускать в требуемой папке, работает рекурсивно.]]></description><content:encoded><![CDATA[
  <pre id="i9ii">find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;</pre>
  <p id="PYOc">Запускать в требуемой папке, работает рекурсивно.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://evgeny.neverov.name/_D_IkK_jA37</guid><link>https://evgeny.neverov.name/_D_IkK_jA37?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/_D_IkK_jA37?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>База данных, пользователь, права</title><pubDate>Sun, 26 Jan 2025 03:35:04 GMT</pubDate><description><![CDATA[PostgreSQL:]]></description><content:encoded><![CDATA[
  <p id="vzeK">PostgreSQL:</p>
  <pre id="UZ4p">CREATE USER &#x27;username&#x27; WITH PASSWORD &#x27;abcdef123&#x27;;
CREATE DATABASE &#x27;database&#x27; WITH OWNER &#x27;username&#x27; TEMPLATE=&#x27;template0&#x27; ENCODING=&#x27;utf8&#x27;;
GRANT ALL PRIVILEGES ON DATABASE &#x27;database&#x27; TO &#x27;username&#x27;;</pre>
  <p id="wv6r">MySQL:</p>
  <pre id="5a79">CREATE USER &#x27;username&#x27;@&#x27;%&#x27; IDENTIFIED BY &#x27;password&#x27;;
CREATE DATABASE &#x27;database&#x27;;
GRANT ALL PRIVILEGES ON &#x27;database&#x27;.* TO &#x27;username&#x27;@&#x27;%&#x27;;</pre>

]]></content:encoded></item><item><guid isPermaLink="true">https://evgeny.neverov.name/ux_uac_user_provider_date</guid><link>https://evgeny.neverov.name/ux_uac_user_provider_date?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/ux_uac_user_provider_date?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>Ошибка в updater-e 23.500.0 модуля main: [1062] Duplicate entry 6-group-2024-08-14 16:49:23 for key ux_uac_user_provider_date.</title><pubDate>Wed, 14 Aug 2024 09:03:38 GMT</pubDate><description><![CDATA[Возникает из-за дубликатов в b_user_access_check. Решается банально:]]></description><content:encoded><![CDATA[
  <p id="gWkd">Возникает из-за дубликатов в b_user_access_check. Решается банально:</p>
  <p id="ZouK"><code>CREATE TEMPORARY TABLE b_user_access_check_tmp (USER_ID int, PROVIDER_ID varchar(50)) ENGINE=InnoDB;<br />INSERT INTO b_user_access_check_tmp SELECT DISTINCT * FROM b_user_access_check;<br />DELETE FROM b_user_access_check;<br />INSERT INTO b_user_access_check SELECT * FROM b_user_access_check_tmp;</code></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://evgeny.neverov.name/nginx-bind-0.0.0.0-server-no-listen</guid><link>https://evgeny.neverov.name/nginx-bind-0.0.0.0-server-no-listen?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/nginx-bind-0.0.0.0-server-no-listen?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>nginx binds 0.0.0.0:443 if there is server { } without listen</title><pubDate>Tue, 21 Feb 2023 13:24:07 GMT</pubDate><description><![CDATA[https://forum.nginx.org/read.php?2,235428,235439#msg-235439]]></description><content:encoded><![CDATA[
  <p id="Jk8J"><a href="https://forum.nginx.org/read.php?2,235428,235439#msg-235439" target="_blank">https://forum.nginx.org/read.php?2,235428,235439#msg-235439</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://evgeny.neverov.name/excel-array-formula</guid><link>https://evgeny.neverov.name/excel-array-formula?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/excel-array-formula?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>MacOS Excel «Нельзя изменить часть массива»</title><pubDate>Mon, 28 Nov 2022 07:34:52 GMT</pubDate><description><![CDATA[Формулу с массивом можно сохранить в ячейке через Ctrl+Shift+Enter, просто через Enter — нельзя.]]></description><content:encoded><![CDATA[
  <p id="v7dX">Формулу с массивом можно сохранить в ячейке через Ctrl+Shift+Enter, просто через Enter — нельзя.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://evgeny.neverov.name/update-only-content-hash-in-composer-lock</guid><link>https://evgeny.neverov.name/update-only-content-hash-in-composer-lock?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/update-only-content-hash-in-composer-lock?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>Обновить только content-hash в composer.lock</title><pubDate>Tue, 05 Jul 2022 07:31:28 GMT</pubDate><description><![CDATA[И всё.]]></description><content:encoded><![CDATA[
  <pre id="hvJ8">composer update --lock</pre>
  <p id="yTqZ">И всё.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://evgeny.neverov.name/bx_check_socket_fail</guid><link>https://evgeny.neverov.name/bx_check_socket_fail?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/bx_check_socket_fail?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>Работа с сокетами (check_socket): Fail</title><pubDate>Wed, 15 Jun 2022 04:09:56 GMT</pubDate><description><![CDATA[Дебажим через PHP консоль Битрикса:]]></description><content:encoded><![CDATA[
  <p id="i8lu">Дебажим через PHP консоль Битрикса:</p>
  <pre id="pmsH">$level = error_reporting(E_ALL);
ini_set(&#x27;display_errors&#x27;, 1);
ini_set(&#x27;log_errors&#x27;, 0);

$handler = set_error_handler(function($errno, $errstr, $errfile, $errline) {
 print_r([$errno, $errstr, $errfile, $errline]);
});

$socket = fsockopen(&#x27;ssl://domain.ru&#x27;, 443, $errno, $errstr, 5);

var_dump($socket);

error_reporting($level);
set_error_handler($handler);</pre>
  <p id="gEJc">Дальше смотрим ошибки и проделываем один из нескольких вариантов:</p>
  <p id="J4Hh">1. В <code>/etc/hosts</code> — добавить собственный хост: <code>&lt;IP&gt; &lt;domain.tld&gt;</code></p>
  <p id="onw5">2. Обновляем сертификаты:</p>
  <pre id="6t9V">yum install ca-certificates -y
update-ca-trust</pre>
  <p id="XFEv">3. Если предыдущий пункт не помог, а дебаг кажет ошибку типа <code>SSL routines:ssl3_get_server_certificate:certificate verify failed</code> — дописываем корневой сертификат LE в <code>/etc/pki/tls/cert.pem</code> (или где там у вас корневые сертификаты в ОС хранятся) в конец файла.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://evgeny.neverov.name/laravel9-smtp-self-signed-certificate</guid><link>https://evgeny.neverov.name/laravel9-smtp-self-signed-certificate?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/laravel9-smtp-self-signed-certificate?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>Laravel 9 SMTP Self-Signed Certificates</title><pubDate>Wed, 27 Apr 2022 07:19:36 GMT</pubDate><description><![CDATA[При отправке почты на прошлых версиях использовался Swift Mailer, который для работы с локальным SMTP-сервером с самоподписным сертификатом принимал атрибуты вида: ]]></description><content:encoded><![CDATA[
  <p id="wmdV">При отправке почты на прошлых версиях использовался Swift Mailer, который для работы с локальным SMTP-сервером с самоподписным сертификатом принимал атрибуты вида: </p>
  <pre id="vN0w">&#x27;stream&#x27; =&gt; [
    &#x27;ssl&#x27; =&gt; [
        &#x27;allow_self_signed&#x27; =&gt; true,
        &#x27;verify_peer&#x27; =&gt; false,
        &#x27;verify_peer_name&#x27; =&gt; false,
    ],
],</pre>
  <p id="DoWM">Symfony Mailer в Laravel 9 смотрит напрямую в атрибуты:</p>
  <pre id="5tsg">&#x27;smtp&#x27; =&gt; [
    &#x27;transport&#x27; =&gt; &#x27;smtp&#x27;,
    // host, port, username, password, etc...
    &#x27;verify_peer&#x27; =&gt; false,
    &#x27;verify_peer_name&#x27; =&gt; false,
],</pre>

]]></content:encoded></item><item><guid isPermaLink="true">https://evgeny.neverov.name/mysql-table-view</guid><link>https://evgeny.neverov.name/mysql-table-view?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone</link><comments>https://evgeny.neverov.name/mysql-table-view?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=demone#comments</comments><dc:creator>demone</dc:creator><title>Вертикальный вывод результатов SELECT</title><pubDate>Fri, 15 Apr 2022 06:05:09 GMT</pubDate><description><![CDATA[В MySQL конце запроса нужно добавить \G]]></description><content:encoded><![CDATA[
  <p id="IISl">В MySQL конце запроса нужно добавить \G</p>
  <p id="TMZc">В PostgreSQL перед запросом выполнить команду \x on</p>
  <p id="Iyz8">Это я для себя, каждый раз забываю…</p>

]]></content:encoded></item></channel></rss>