<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Проблемы с подключением к PHP API?]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Проблемы с подключением к PHP API? форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Tue, 11 Aug 2026 22:29:26 -0400</pubDate>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443766">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, я использую этот код, и он отлично работает с CCR1009 6.44.3 (stable), RB3011 6.44.5 (long term) и RB941. Моя проблема в том, что при использовании на Hex RB750 Gr3 6.44.5 он не работает. В логах пишется: system,error,critical login failure from user from ip via api. Пожалуйста, помогите. Заранее спасибо. <br /><br />&lt;?php<br />require('routeros_api.class.php');<br />$API = new RouterosAPI();<br />$API-&gt;debug = false;<br /><br />if ($API-&gt;connect('routerip','user','password')) {<br /><br /> &nbsp; &nbsp;$API-&gt;write('/ip/hotspot/ip-binding/print', false);<br /> &nbsp; &nbsp;$API-&gt;write('=count-only=', false);<br /> &nbsp; &nbsp;$API-&gt;write('~active-address~"1.1."');<br /> &nbsp; &nbsp;$ARRAY = $API-&gt;read();<br /><br /> &nbsp; &nbsp;$API-&gt;disconnect();<br />}<br />?&gt; <br />
			<i>15.10.2019 01:30:00, crispaz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443766</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443766</guid>
			<pubDate>Tue, 15 Oct 2019 01:30:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443765">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Спасибо, я внимательно прочитал и отключил SELinux, теперь всё работает нормально. Давайте начнём с большего количества примеров по API/PHP. <br />
			<i>22.06.2018 17:55:00, yannick.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443765</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443765</guid>
			<pubDate>Fri, 22 Jun 2018 17:55:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443764">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Попробуйте ответы в сообществе StackOverflow по ссылке выше. <br />
			<i>22.06.2018 14:37:00, boen_robot.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443764</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443764</guid>
			<pubDate>Fri, 22 Jun 2018 14:37:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443763">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, появилась такая ошибка: Parsing проходит успешно, если ты это видишь… Файл включён!.. Соединение НЕУДАЧНО! Подробности: исключение ‘PEAR2\Net\Transmitter\SocketException’ с сообщением ‘stream_socket_client(): невозможно подключиться к tcp://10.0.34.53:8728 (Доступ запрещён)’ в /var/www/html/PEAR2_Net_RouterOS-1.0.0b6/src/PEAR2/Net/Transmitter/TcpClient.php:225. У меня CentOS7, как это исправить? <br />
			<i>22.06.2018 02:55:00, yannick.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443763</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443763</guid>
			<pubDate>Fri, 22 Jun 2018 02:55:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443762">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@boen_robot Похоже, проблема была в selinux. Большое спасибо за помощь. <br />
			<i>15.01.2015 12:30:00, c1audiu.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443762</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443762</guid>
			<pubDate>Thu, 15 Jan 2015 12:30:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443761">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			OK… Сообщение stream_socket_client('tcp://10.11.12....', 13, 'Permission deni...', '60', 4, Resource id #15) похоже подтверждает то, что я говорил ранее — проблема именно в файрволе веб-сервера. Сообщение от stream_socket_client() — «Permission denied», то есть ОС в конечном итоге запрещает установку соединения. Файрвол есть, и он разрешает исполняемому файлу «php» делать исходящие подключения… Но, похоже, не разрешает это исполняемым файлам Apache или «php-cgi». Попытка гуглить эту ошибку вывела меня на обсуждение в StackOverflow, где предлагают, что причиной может быть SELinux — по умолчанию он блокирует любые исходящие подключения от Apache, поскольку Apache «обычно» их не делает. Однако если PHP работает как модуль Apache, то любое соединение из PHP выполняется внутри процесса Apache. Значит, чтобы решить проблему, нужно либо отключить SELinux, либо настроить его так, чтобы разрешить исходящие подключения, как показано в указанной ссылке. <br />
			<i>15.01.2015 12:14:00, boen_robot.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443761</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443761</guid>
			<pubDate>Thu, 15 Jan 2015 12:14:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443760">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Когда скрипт выполняется в Chrome, возникает исключение 'PEAR2\Net\Transmitter\SocketException' с сообщением 'stream_socket_client(): не удалось подключиться к tcp://mikrotik_ip:8728/user%2Fpassword (Отказано в доступе)' в phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/Transmitter/TcpClient.php:205 Трассировка стека: #0 phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/Transmitter/Stream.php(130): PEAR2\Net\Transmitter\TcpClient-&gt;createException('stream_socket_c...', 0) #1 [внутренняя функция]: PEAR2\Net\Transmitter\Stream-&gt;handleError(2, 'stream_socket_c...', 'phar:///var/www...', 147, Array) #2 phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/Transmitter/TcpClient.php(147): stream_socket_client('tcp://10.11.12....', 13, 'Permission deni...', '60', 4, Resource id #15) #3 phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/RouterOS/Communicator.php(148): PEAR2\Net\Transmitter\TcpClient-&gt;__construct('mikrotik_ip', 8728, false, NULL, 'user/04J650ej1y2...', '', NULL) #4 phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/RouterOS/Client.php(146): PEAR2\Net\RouterOS\Communicator-&gt;__construct('mikrotik_ip', 8728, false, NULL, 'user/04J650ej1y2...', '', NULL) #5 /var/www/public_html/script.php(6): PEAR2\Net\RouterOS\Client-&gt;__construct('mikrotik_ip', 'user', 'password') #6 {main} Следующее исключение 'PEAR2\Net\Transmitter\SocketException' с сообщением 'Не удалось подключиться через сокет.' в phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/Transmitter/TcpClient.php:205 Трассировка стека: #0 phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/Transmitter/TcpClient.php(163): PEAR2\Net\Transmitter\TcpClient-&gt;createException('Failed to conne...', 8, Object(PEAR2\Net\Transmitter\SocketException)) #1 phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/RouterOS/Communicator.php(148): PEAR2\Net\Transmitter\TcpClient-&gt;__construct('mikrotik_ip', 8728, false, NULL, 'user/04J650ej1y2...', '', NULL) #2 phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/RouterOS/Client.php(146): PEAR2\Net\RouterOS\Communicator-&gt;__construct('mikrotik_ip', 8728, false, NULL, 'user/04J650ej1y2...', '', NULL) #3 /var/www/public_html/script.php(6): PEAR2\Net\RouterOS\Client-&gt;__construct('mikrotik_ip', 'user', 'password') #4 {main} Следующее исключение 'PEAR2\Net\RouterOS\SocketException' с сообщением 'Ошибка подключения к RouterOS' в phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/RouterOS/Communicator.php:150 Трассировка стека: #0 phar:///var/www/public_html/PEAR2_Net_RouterOS-1.0.0b5.phar/PEAR2_Net_RouterOS-1.0.0b5/src/PEAR2/Net/RouterOS/Client.php(146): PEAR2\Net\RouterOS\Communicator-&gt;__construct('mikrotik_ip', 8728, false, NULL, 'user/04J650ej1y2...', '', NULL) #1 /var/www/public_html/script.php(6): PEAR2\Net\RouterOS\Client-&gt;__construct('mikrotik_ip', 'user', 'password') #2 {main} <br />
			<i>15.01.2015 12:00:00, c1audiu.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443760</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443760</guid>
			<pubDate>Thu, 15 Jan 2015 12:00:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443759">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Но если запустить скрипт из веб-браузера, ты получаешь «OK»? Вот в этом и была суть. PHP использует другой исполняемый файл, когда запускается с веб-сервера. Если из браузера вы не видите «OK», то должно появиться сообщение об ошибке, которое подскажет, в чем проблема. Если ошибка есть, выложи её, пожалуйста. <br />
			<i>15.01.2015 11:52:00, boen_robot.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443759</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443759</guid>
			<pubDate>Thu, 15 Jan 2015 11:52:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443758">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@boen_robot Спасибо за ответ. Скачал PEAR2_Net_RouterOS-1.0.0b5.phar и запускаю #php script.php //код script.php<br />&lt;?php<br />use PEAR2\Net\RouterOS;<br />require_once 'PEAR2_Net_RouterOS-1.0.0b5.phar';<br /><br />try {<br /> &nbsp; &nbsp;$client = new RouterOS\Client('mikrotik_ip', 'user', 'password');<br /> &nbsp; &nbsp;echo 'OK';<br />} catch (Exception $e) {<br /> &nbsp; &nbsp;die($e);<br />} В CLI получаю ответ «OK». Не думаю, что проблема в соединении. Как я писал в первом сообщении, при запуске php-скрипта из CLI скрипт на mikrotik выполняется. А вот из браузера запустить скрипт не получается. Я даже пробовал ставить права chown -R 777 на public_folder. И запуск скрипта под пользователем apache из CLI работает… <br />
			<i>14.01.2015 12:30:00, c1audiu.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443758</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443758</guid>
			<pubDate>Wed, 14 Jan 2015 12:30:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443757">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@c1audiu @UGP2 Попробуйте PHAR из моей подписи. В частности, сначала попробуйте запустить его из командной строки так: php PEAR2_Net_RouterOS-1.0.0b5.phar mikrotik_ip user password и посмотрите, какие ошибки, если они есть, появятся. Если при этом можно спокойно вводить команды, значит соединение установлено, и проблема точно не на стороне роутера. Выйти можно командой “/quit” с двойным нажатием Enter. Теперь… Если это работает, попробуйте выполнить тестовый кусок PHP-кода, например: &lt;?php<br />use PEAR2\Net\RouterOS;<br />require_once 'PEAR2_Net_RouterOS-1.0.0b5.phar';<br /><br />try {<br /> &nbsp; &nbsp;$client = new RouterOS\Client('mikrotik_ip', 'user', 'password');<br /> &nbsp; &nbsp;echo 'OK';<br />} catch (Exception $e) {<br /> &nbsp; &nbsp;die($e);<br />} И посмотрите, выведет ли он «OK». Если не выведет, а вышеуказанные команды работали, скорее всего, проблема в фаерволе веб-сервера. В зависимости от того, какое SAPI использует PHP, нужно разрешить исполняемому файлу Apache («httpd», кажется) или исполняемому файлу PHP («php-cgi») устанавливать исходящие соединения. Или же разрешить ЛЮБОМУ приложению делать исходящие подключения на порт 8728. <br />
			<i>13.01.2015 18:01:00, boen_robot.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443757</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443757</guid>
			<pubDate>Tue, 13 Jan 2015 18:01:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443756">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Когда я запускаю PHP-скрипт из командной строки, всё работает:<br />sudo -u apache php script.php &nbsp;<br />Попытка подключения #1 к mikrotik_ip:8728… &nbsp;<br />&lt;&lt;&lt; [6] /login  <br />[5/5] байт прочитано. [5, 39]!done  <br />[37/37] байт прочитано. [37, 1]=ret=d2b0464485a7688758f2503d7346a2a5  <br />&lt;&lt;&lt; [6] /login  <br />&lt;&lt;&lt; [9] =name=api  <br />&lt;&lt;&lt; [44] =response=007d865b5e7ad498684367513f8707e9f9  <br />[5/5] байт прочитано. [5, 1]!done  <br />Подключено… &nbsp;<br />&lt;&lt;&lt; [18] /system/script/run  <br />&lt;&lt;&lt; [12] =.id=script_name  <br />[5/5] байт прочитано. [5, 1]!done  <br />Отключено…<br /><br />Когда я запускаю тот же скрипт в Chrome, получаю: &nbsp;<br />“Попытка подключения #1 к mikrotik_ip:8728… &nbsp;<br />Попытка подключения #2 к mikrotik_ip:8728… &nbsp;<br />Попытка подключения #3 к mikrotik_ip:8728… &nbsp;<br />Попытка подключения #4 к mikrotik_ip:8728… &nbsp;<br />Попытка подключения #5 к mikrotik_ip:8728… &nbsp;<br />Ошибка…”<br /><br />Скрипт, который я использую: &nbsp;<br />&lt;?php &nbsp;<br />require('routeros_api.class.php'); &nbsp;<br />$API = new routeros_api(); &nbsp;<br />$API-&gt;debug = true; &nbsp;<br />if ($API-&gt;connect('mikrotik_ip','user','password')) { &nbsp;<br /> &nbsp; &nbsp;$API-&gt;write('/system/script/run', false); &nbsp;<br /> &nbsp; &nbsp;$API-&gt;write("=.id=script_name"); &nbsp;<br /> &nbsp; &nbsp;$API-&gt;read(false); &nbsp;<br /> &nbsp; &nbsp;$API-&gt;disconnect(); &nbsp;<br />} &nbsp;<br />?&gt;<br /><br />Права и владельцы: &nbsp;<br />-rwxrwxrwx. 1 apache apache script.php <br />
			<i>09.01.2015 13:11:00, c1audiu.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443756</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443756</guid>
			<pubDate>Fri, 09 Jan 2015 13:11:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Проблемы с подключением к PHP API?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443755">Проблемы с подключением к PHP API?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я использую PHP API и получаю такую ошибку: <noindex><a href="http://wiki.mikrotik.com/wiki/API_PHP_class" target="_blank" rel="nofollow" >http://wiki.mikrotik.com/wiki/API_PHP_class</a></noindex> Попытка подключения №5 к IP:8728… Ошибка… В чём моя проблема? Нужно ли включить какую-то функцию? <br />
			<i>14.04.2011 18:40:00, UGP2.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443755</link>
			<guid>http://mikrotik.moscow/forum/forum57/90714-problemy-s-podklyucheniem-k-php-api/message443755</guid>
			<pubDate>Thu, 14 Apr 2011 18:40:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
