Jump to content

KenHorse

Members
  • Posts

    70
  • Joined

  • Last visited

Recent Profile Visitors

1,671 profile views

KenHorse's Achievements

Regular Member

Regular Member (3/5)

0

Reputation

1

Community Answers

  1. I found the fix On the Debian 12 server, I added the following to /etc/ssh/sshd_config HostKeyAlgorithms +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsa As this server is on a private LAN, security isn't an issue
  2. These errors are from running the script from the command line
  3. I've been using the following script snippet to connect to a remote server in order to run lm-sensors on the remote server and it's worked fine (I've changed the IP and password for this post of course) $connection = ssh2_connect('xxx.xxx.xxx.x', 22); ssh2_auth_password($connection, 'root', 'xxxxxx'); if($output = ssh2_exec($connection, 'sensors')) { stream_set_blocking($output, true); $x = stream_get_contents($output); } This script runs on a Debian 10 machine and the remote server USED to also be Debian 10 but it was recently upgraded to Debian 12 (Bookworm) and now the script reports the following errors: PHP Warning: ssh2_connect(): Error starting up SSH connection(-5): Unable to exchange encryption keys in /var/www/html/get_temp.php on line 3 PHP Warning: ssh2_connect(): Unable to connect to xxx.xxx.xxx.x in /var/www/html/get_temp.php on line 3 PHP Warning: ssh2_auth_password() expects parameter 1 to be resource, bool given in /var/www/html/get_temp.php on line 4 PHP Warning: ssh2_exec() expects parameter 1 to be resource, bool given in /var/www/html/get_temp.php on line 6 I can connect using ssh from the command line (ssh @ xxx.xxx.xxx.x) and that works fine. I'm not a total newbie to Linux but I'm no expert either so any help would be appreciated
  4. Did you ever do a SEND version? That's what I need. PHP to read a binary file and xmodem send it to an embedded processor
  5. Yea I know it's an old protocol but still... Anyone figure out how to do it in PHP? Searching the forum turns up nothing xmodem related
  6. Ok thanks. Guess I'm too much of a noob. Sorry for wasting your time
  7. As my OP said, I'm using php_serial_class, which is loaded in global.php (hence the include): require_once("php_serial.class.php"); // Let's start the serial class $serial = new phpSerial; $comport = "/dev/ttyUSB0"; $serial->deviceSet($comport); // We can change the baud rate $serial->confBaudRate(19200); $serial->confParity("none"); $serial->confCharacterLength(8); $serial->confStopBits(1); $serial->confFlowControl("none"); // Then we need to open it $serial->deviceOpen(); //clear out crap $serial->sendMessage("\r"); $serial->sendMessage("\r"); sleep(0.1); // Or to read from //$read = $serial->readPort(); //to send to //$serial->sendMessage("data to send"); // If you want to change the configuration, the device must be closed //$serial->deviceClose(); //and then reopened Also, $stuff is not yet used but I plan on using it in the function after I get passed this issue As for $timediff, yes. I have not defined it yet. Again, I need to get passed this to clean other things up (I guess I should point out that this code was originally written by someone else long before PHP 7.0 was released. I'm trying to get it functional under 7.3xxx but I am certainly not overly fluent in PHP yet)
  8. function checkInput($stuff){ $starttime = microtime(true); while($read =="" && $timediff < '5'){ $read = $serial->readPort(); $substring = substr($read,0,1); //echo "SubString " . "$substring"; if($substring =="-"){ print"<CENTER><H2>We encountered an error when sending $read". "Please close window and try again</H2></CENTER>"; $noDataToSend ="False"; exit(); } $endtime = microtime(true); $timediff = $endtime - $starttime; if($substring =="+"){ //if ACK received, reset timer $starttime = microtime(true); }else{ if($substring !=""){echo "Substring " . "$substring\r\n";} } if($timediff > '4'){ print"<CENTER><H2>No response from the Station. Please close this window, check your serial connections and try again</H2></CENTER>"; $noDataToSend ="False"; exit(); } sleep(0.1); }//while } //end function And the line calling it: $senddata = "122222"; $serial->sendMessage("$senddata\r"); checkInput($senddata); Yes, I am not currently using the passed parameter ($stuff) but am planning to after I fix this problem
  9. It's the actual call to the class $read = $serial->readPort();
  10. BTW, PHP version is 7.3.29-1 So I changed the variable in the Function: function checkInput($stuff){ No change PHP Fatal error: Uncaught Error: Call to a member function readPort() on null in /var/www/controlserial.php:371
  11. outdated? How else do you include other files? (admittedly, I am not overly well versed in PHP but do a lot with VB)
  12. I have a file (global.php) that used by many different other files in a project I'm doing. This file contains many things including connecting to a MySQL database as well as loading a php_serial_class. So at the top of php file that needs these resources, I use include("global.php"); In one of those other php files, I also have a function that I'm using that calls the php_serial_class: $read = $serial->readPort(); This throws an error: Line 104 is the call to the function and Line 370 is the actual read call to the class I assume this error is thrown as the function doesn't know about that class? If so, can I simply also load the include within the function or is there a better way to do it?
  13. Craziest damn thing. The installer added the extension=dio.so at the beginning of php.ini, hence the bracketed term afterwards Thanks for opening my eyes
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.