PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 8
saifuddin Отправлено: 23 Апреля, 2016 - 14:33:38 • Тема: PHP ssl connect to mysql • Форум: Администрирование *nix

Ответов: 5
Просмотров: 1523
Видимо изменился Openssl, теперь нужно писать в CN сертификата сервера 127.0.0.1 в данном случае.
saifuddin Отправлено: 22 Апреля, 2016 - 20:24:35 • Тема: PHP ssl connect to mysql • Форум: Администрирование *nix

Ответов: 5
Просмотров: 1523
openssl genrsa 1024 > ca-key.pem
openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca-cert.pem
openssl req -newkey rsa:1024 -days 3600 -nodes -keyout server-key.pem -out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
openssl req -newkey rsa:1024 -days 3600 -nodes -keyout client-key.pem -out client-req.pem
openssl rsa -in client-key.pem -out client-key.pem
openssl x509 -req -in client-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
openssl verify -CAfile ca-cert.pem server-cert.pem client-cert.pem
(Добавление)
через неделю пришлось с нуля поднимать сервер, вот и обнаружилось, что сертификаты не работают
saifuddin Отправлено: 22 Апреля, 2016 - 15:52:57 • Тема: PHP ssl connect to mysql • Форум: Администрирование *nix

Ответов: 5
Просмотров: 1523
Подключение не удалось: SQLSTATE[HY000] [2002]

Вот эта ошибка выдается в

} catch (Exception $e) {
echo 'Подключение не удалось: ' . $e->getMessage();
}
saifuddin Отправлено: 22 Апреля, 2016 - 13:43:28 • Тема: PHP ssl connect to mysql • Форум: Администрирование *nix

Ответов: 5
Просмотров: 1523
Доброго времени суток!

Есть ssl сертификат, раньше все работало, сейчас в одно часе на всех серверах прекратили работать сертификаты(подключение по ним)

Пробовал сменить все сертификаты, вплоть да же CA

Debian
mysqlnd install

Прописываю в консоли mysql -p -uuser --ssl-ca=/путь до файла --ssl-key=/путь до файла --ssl-cert=/путь до файла -h127.0.0.1
Через консоль подключаюсь отлично.

PHP:
скопировать код в буфер обмена
  1. ...
  2. protected function __construct()
  3.         {
  4.                  $ssl =  array(
  5.                  PDO::MYSQL_ATTR_SSL_KEY        =>'/etc/mysq/ssl/client-key.pem',
  6.                  PDO::MYSQL_ATTR_SSL_CERT=>'/etc/mysq/ssl/client-cert.pem',
  7.                  PDO::MYSQL_ATTR_SSL_CA         =>'/etc/mysq/ssl/ca-cert.pem'
  8.         );
  9.                 try {
  10.                         $this->connection = new PDO('mysql:host=127.0.0.1;dbname='.$this->dbname, $this->user, $this->pass, $ssl);
  11.                 } catch (Exception $e) {
  12. ...


ошибка:
PHP Fatal error: Call to a member function prepare() on null

Если выключить сертификаты, подключение к БД работает нормально. Проблема именно в SSL. Но, не знаю, какого именно характера. По ошибке не создается объект, так как нет подключения к БД. Я не понимаю что могло сломаться. Ни чего не меняется уже годами, а тут вот те на...

Помогите, кто может!!!
Заранее спасибо!
saifuddin Отправлено: 24 Января, 2016 - 11:16:17 • Тема: используем php для синхронизации по rsync через ssh с ключам • Форум: Администрирование *nix

Ответов: 4
Просмотров: 1192
Мелкий пишет:
уже сказал.


PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $stream = ssh2_exec($connection, 'ls -l /');
  4. $stream_set_blocking($stream, true);
  5. $stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
  6. echo stream_get_contents($stream_out);
  7.  
  8.  


Вот на примере другой команды решил сделать.
Вывод на экране браузера

CODE (htmlphp):
скопировать код в буфер обмена
  1. Public Key Authentication Successful

(Добавление)


Что дальше делать?
Опечатка. Я исправил.
(Добавление)
saifuddin пишет:
rsync -rvzat --delete -e 'ssh -p 8055 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'  /var/www/editor/user/  user@cs2:/var/www/editor/user/



будет работать в терминале если ее написать вот так. Может это поможет в решении поставленной задачи.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. rsync -rvzat --delete -e 'ssh -p 8055 -i/home/user/.ssh/id_rsa.pub'  /var/www/editor/user/  user@cs2:/var/www/editor/user/


Ключ без пароля. Если так запустить в терминале, она отработает.
(Добавление)
Включил ошибки


Fatal error:
Function name must be a string
Notice: Undefined variable: stream_set_blocking in


оба ругаются на строку
PHP:
скопировать код в буфер обмена
  1.  
  2. $stream_set_blocking($stream, true);
  3.  
saifuddin Отправлено: 24 Января, 2016 - 11:07:12 • Тема: используем php для синхронизации по rsync через ssh с ключам • Форум: Администрирование *nix

Ответов: 4
Просмотров: 1192
Мелкий пишет:
Зачем вы в ssh2_exec оборачиваете команду в system?
Второе, $connection - это ресурс. Обычно у них нет приведения к строке и что вы пытаетесь скормить аргументу -e я не очень понимаю.

Для дебага кроме STDIO поглядите в STDERR


Я новичок в PHP. Лучше скажите как мне на PHP запустить эту команду. Буду вам при много благодарен.
saifuddin Отправлено: 24 Января, 2016 - 10:57:16 • Тема: используем php для синхронизации по rsync через ssh с ключам • Форум: Администрирование *nix

Ответов: 4
Просмотров: 1192
Доброго времени суток.
Помогите разобраться с настройкой PHP.
Есть команда rsync, для синхронизации файлов. Сейчас есть два сервера cs1 и cs2. на обоих стоят ssh ключи без паролей.
Если ввести в терминале команду
CODE (htmlphp):
скопировать код в буфер обмена
  1. rsync -rvzat --delete -e 'ssh -p 8055 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'  /var/www/editor/user/  user@cs2:/var/www/editor/user/


То происходит синхронизация. Теперь мне нужно добиться этого при помощи PHP.

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.  
  4. $connection = ssh2_connect('cs2', 22, array('hostkey'=>'ssh-rsa'));
  5.  
  6. if (ssh2_auth_pubkey_file($connection, 'user',
  7.                          '/home/user/.ssh/id_rsa.pub',
  8.                          '/home/user/.ssh/id_rsa', '')) {
  9.  echo "Public Key Authentication Successful\n";
  10. } else {
  11.  
  12.  die('Public Key Authentication Failed');
  13. }
  14.  
  15.  
  16. $stream = ssh2_exec($connection, "rsync -rvzat --delete -e $connection  /var/www/editor/user/  user@cs2:/var/www/editor/user/");
  17. stream_set_blocking($stream, true);
  18. $stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);
  19. echo stream_get_contents($stream_out);
  20.  


Явно я что-то не так делаю. Помогите разобраться что нужно сделать, чтобы все заработало. Подключение по ключам происходит. Вот только выполнить команду не могу.

Я уже записал эту команду в баш скрипте и попробовал его запустить из терминала. Все работает. Но, если запускать через функцию system, то он не отрабатывает, потому, что там есть ssh. Без него он будет работать. Если rsync будет локально отрабатывать команду.
saifuddin Отправлено: 16 Августа, 2012 - 12:29:00 • Тема: include Не распознает русские буквы • Форум: Apache и другие веб-серверы

Ответов: 0
Просмотров: 314
Здравствуйте!
У меня xubuntu на нее поставил apache2 php. Команды php работают проверял.


Я сделал стр index.php.
Если запустить ее через апач2 она работает, но если в стр добавить include("путь к стр.пхп"); То, он ее открывает, но русские буквы треугольниками идут.
Как это изменить.
Кодировку ставил и windows-1251, utf-8 в главной стр index.php не работает.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB