묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
php 회원가입 db 질문 드립니다.
Fatal error: Uncaught Error: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' in C:\Apache24\htdocs\dbcon.php:8 Stack trace: #0 C:\Apache24\htdocs\index.php(2): include() #1 {main} thrown in C:\Apache24\htdocs\dbcon.php on line 8. APM 환경에서 php로 회원가입을 구현하고 싶은데 위와 같은 오류가 뜹니다. 오류 문장에 언급된 php 파일 첨부합니다.. 찾아봐도 잘 안 나오고 뭐가 문제인지 모르겠습니다. ㅇ위에서 말한 line 8은 아래입니다. 오래 붙잡았는데도 도저히 모르겠습니다.. 도와주시면 감사하겠습니다. $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); dbcon.php <?php $host = 'localhost'; $username = ''; $password = ''; $dbname = 'userdb'; $options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); try { $con = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8",$username, $password); } catch(PDOException $e) { die("Failed to connect to the database: " . $e->getMessage()); } $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); if(function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) { function undo_magic_quotes_gpc(&$array) { foreach($array as &$value) { if(is_array($value)) { undo_magic_quotes_gpc($value); } else { $value = stripslashes($value); } } } undo_magic_quotes_gpc($_POST); undo_magic_quotes_gpc($_GET); undo_magic_quotes_gpc($_COOKIE); } header('Content-Type: text/html; charset=utf-8'); session_start(); ?> index.php <?php include('dbcon.php'); include('check.php'); if(is_login()){ if ($_SESSION['user_id'] == 'admin' && $_SESSION['is_admin']==1) header("Location: admin.php"); else header("Location: welcome.php"); } ?> <!DOCTYPE html> <html> <head> <title>로그인 예제</title> <link rel="stylesheet" href="bootstrap/css/bootstrap1.min.css"> </head> <body> <div class="container"> <h2 align="center">로그인</h2><hr> <form class="form-horizontal" method="POST"> <div class="form-group" style="padding: 10px 10px 10px 10px;"> <label for="user_name">아이디:</label> <input type="text" name="user_name" class="form-control" id="inputID" placeholder="아이디를 입력하세요." required autocomplete="off" readonly onfocus="this.removeAttribute('readonly');" /> </div> <div class="form-group" style="padding: 10px 10px 10px 10px;"> <label for="user_password">패스워드:</label> <input type="password" name="user_password" class="form-control" id="inputPassword" placeholder="패스워드를 입력하세요." required autocomplete="off" readonly onfocus="this.removeAttribute('readonly');" /> </div> <div class="checkbox"> <label><input type="checkbox"> 아이디 기억</label> </div> </br> <div class="from-group" style="padding: 10px 10px 10px 10px;" > <button type="submit" name="login" class="btn btn-success">로그인</button> <a class="btn btn-success" href="registration.php" style="margin-left: 50px"> <span class="glyphicon glyphicon-user"></span> 등록 </a> </div> </br> </form> </div> </body> </html> <?php $login_ok = false; if ( ($_SERVER['REQUEST_METHOD'] == 'POST') and isset($_POST['login']) ) { $username=$_POST['user_name']; $userpassowrd=$_POST['user_password']; if(empty($username)){ $errMSG = "아이디를 입력하세요."; }else if(empty($userpassowrd)){ $errMSG = "패스워드를 입력하세요."; }else{ try { $stmt = $con->prepare('select * from users where username=:username'); $stmt->bindParam(':username', $username); $stmt->execute(); } catch(PDOException $e) { die("Database error. " . $e->getMessage()); } $row = $stmt->fetch(); $salt = $row['salt']; $password = $row['password']; $decrypted_password = decrypt(base64_decode($password), $salt); if ( $userpassowrd == $decrypted_password) { $login_ok = true; } } if(isset($errMSG)) echo "<script>alert('$errMSG')</script>"; if ($login_ok){ if ($row['activate']==0) echo "<script>alert('$username 계정 활성이 안되었습니다. 관리자에게 문의하세요.')</script>"; else{ session_regenerate_id(); $_SESSION['user_id'] = $username; $_SESSION['is_admin'] = $row['is_admin']; if ($username=='admin' && $row['is_admin']==1 ) header('location:admin.php'); else header('location:welcome.php'); session_write_close(); } } else{ echo "<script>alert('$username 인증 오류')</script>"; } } ?>
-
미해결
Bitnami 설치 관련 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. PHP 학습을 위해 비트나미를 PC에 설치했습니다. 그런데 설치 도중에 It seems you have an antivirus running. In some cases, this may slow down or interfere the installation of the software. Please visit the following link to learn more about this. 라는 문구가 떴는데 설치는 문제 없이 되는 것 같아 대수롭지 않게 넘어갔었습니다. 그런데 며칠 사용하고 나니 아파치가 정상적으로 실행되지 않습니다. 확실치는 않지만, norton 백신 프로그램에서 (ip)의 침입 시도가 차단되었습니다. 라는 메시지가 뜬 이후로 문제가 있는듯합니다. 도중에 아파치 웹서버를 재시작하는 경우가 있어 로그가 조금 길지만 비트나미 에러 로그를 통해 봤을 때는 다음과 같이 나왔습니다. [Sun Jan 23 22:10:30.258215 2022] [mpm_winnt:notice] [pid 6176:tid 476] AH00422: Parent: Received shutdown signal -- Shutting down the server. [Sun Jan 23 22:10:32.283605 2022] [mpm_winnt:notice] [pid 10760:tid 612] AH00364: Child: All worker threads have exited. [Sun Jan 23 22:10:32.303958 2022] [mpm_winnt:notice] [pid 6176:tid 476] AH00430: Parent: Child process 10760 exited successfully. [Sun Jan 23 22:12:20.085106 2022] [ssl:warn] [pid 20908:tid 648] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name [Sun Jan 23 22:12:20.125116 2022] [ssl:warn] [pid 20908:tid 648] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name [Sun Jan 23 22:12:20.147121 2022] [mpm_winnt:notice] [pid 20908:tid 648] AH00455: Apache/2.4.51 (Win64) OpenSSL/1.1.1l PHP/7.4.27 configured -- resuming normal operations [Sun Jan 23 22:12:20.147121 2022] [mpm_winnt:notice] [pid 20908:tid 648] AH00456: Apache Lounge VC15 Server built: Oct 8 2021 10:03:59 [Sun Jan 23 22:12:20.147121 2022] [core:notice] [pid 20908:tid 648] AH00094: Command line: 'C:\\Bitnami\\WAMPST~1.27-\\apache2\\bin\\httpd.exe -d C:/Bitnami/wampstack-7.4.27-0/apache2 -f C:\\Bitnami\\WAMPST~1.27-\\apache2\\conf\\httpd.conf' [Sun Jan 23 22:12:20.153123 2022] [mpm_winnt:notice] [pid 20908:tid 648] AH00418: Parent: Created child process 8232 [Sun Jan 23 22:12:20.986920 2022] [ssl:warn] [pid 8232:tid 540] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name [Sun Jan 23 22:12:21.028930 2022] [ssl:warn] [pid 8232:tid 540] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name [Sun Jan 23 22:12:21.048935 2022] [mpm_winnt:notice] [pid 8232:tid 540] AH00354: Child: Starting 64 worker threads. 현재 이 로그도 막 재설치한 상태이기에 구동은 됩니다만, 이전에도 이러다가 아파치 웹 서버가 작동하지 않았기에 이또한 문제가 될 것이라 생각됩니다. 비트나미에서는 다음 링크를 통해 설정을 바꿔주라고 했는데 백신 프로그램도 다르고 해서 어떤 부분을 어떻게 바꿔줘야 할지도 모르겠습니다.. https://bitnami.com/antivirus
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
https적용
apache reverse_proxy로 node서버를 SSL인증서와 같이 도메인을 돌리고있는데요 ssl.conf파일엔 아래처럼 설정되어있고 ... ProxyPass / http:localhost:3000/ ProxyPassReverse / http:localhost:3000/ ... RewriteEngine on RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] RewriteRule .* ws://localhost:3000&{REQUEST_URI} [P] vhost.conf 에서는 해당 도메인으로 요청시 Redirect / https://해당도메인 으로 설정해놓았는데 이런경우에는 nodejs에도 https로 같이 구현을 해주어야 할까요? 현재는 그냥 http2가 아닌 http로 구성되어있습니다