멍멍이네 블로그

phpmyadmin 에러가 많이 보입니다 ㅜ_ㅜ 

 

라즈베리파이4에서 phpmyadmin을 설치했는데, 설치가 꼬인건지, 설정파일 에러가 많이 보입니다.(설치를 잘못 했나봅니다)

 

이번 에러 역시 기본 설정파일에 오타(?)가 있어서 생기는 문제.

 

오류 해결 후 참고한 블로그 링크를 첨부합니다.

onlyfor-me-blog.tistory.com/275

 

[PHP] phpmyadmin에서 count(): Parameter must be an array or an object that implements Countable 에러 해결

phpmyadmin을 연동해서 즐거운 마음으로 DB를 만들고 테이블을 하나 만들었는데 갑자기 아래로 스크롤이 이동하면서 빨간 배경의 에러 문구들이 나오는 경우가 있다. 그리고 에러 문구는 제목처럼

onlyfor-me-blog.tistory.com

 

해결방법

1. 설정 파일을 연다.

2. 괄호가 잘못 얽혀있는 부분 수정 후 저장.

3. 파일 저장 후 아파치 재시작.

 Create a database named 'phpmyadmin' and setup the phpMyAdmin configuration storage there.

 

라즈비안4에 phpmyadmin 설치 후 로그인 시 에러 발생.

 

 Create 버튼을 눌러 phpmyadmin 설정 db를 추가해주면 된다.

 

 

* 추가 에러 발생

You do not have necessary privileges to create a database named 'phpmyadmin'. You may go to 'Operations' tab of any database to set up the phpMyAdmin configuration storage there.

Create 하이퍼링크 버튼을 클릭했는데, 만약 위와 같은 에러가 뜰 경우, 현재 권한이 없는 상황이기 때문에, 리눅스 관리자 계정으로 로그인 하던지, 현재 계정의 권한을 관리자와 같이 올려주어야 한다.

1. sudo apt install phpmyadmin 

- phpmyadmin 설치 명령어.

 

2. sudo ln -s /usr/share/phpmyadmin /var/www/html

- phpmyadmin과 apache의 경로가 다르기 때문에, phpmyadmin 설치 후 연결해주어야 한다.(ln)

 

 

 

* 주의 *
phpmyadmin 설치 후 실행했는데

The mbstring extension is missing. Please check your PHP configuration.

접속 시 위와 같은 에러가 뜰 경우

 

sudo apt-get install phpmyadmin php-mbstring php-gettext

sudo service apache2 restart

명령어를 통해 설치 및 아파치 재시작을 해주면 해결된다.

vnc로 라즈베리파이에 접근하려고 한다.

그런데 오랜 대기시간이 걸리며, 위와 같은 에러가 뜬다.

 

대부분 time out이 뜰 경우, 외부접근을 못한다는 뜻이다.

 

하지만 나와 같은 경우는 외부접근은 되는데, vnc가 안되는 상황.

 

이 상황 일 경우, 컴이 꺼져있거나, 라즈베리파이에서 접근 허용이 안 날 경우

방화벽이 막은 상황이었다.

 

방화벽을 해제하거나 vnc 포트(내부포트 5900)을 방화벽에서 예외처리를 해주어야 한다.

 

sudo ufw allow 내부포트
ex) sudo ufw allow 5900

초간단 설명

1. NuGet패키지에서 셀레니움 추가.

2. 사용할 웹 브라우저 드라이버를 NuGet에서 추가.

- (필자는 크롬 사용함. 검색 결과가 많음 -> 구글링에 많은 데이터가 돌아다님.)

3. 크롤링 할 페이지에 가서 F12 - DevTools에서 cs를 확인 후 자기가 접근할 데이터의 태그를 확인.

4. 접근할 데이터의 태그를 가지고 데이터 접근 및 키 입력(버튼 클릭, 아이디 혹은 검색어 입력 등)

 

 

 

 

 

 

 

** Visual Studio 2019 버전 기준 설명입니다. **

1. 프로젝트를 실행한 후 NuGet 솔루션을 켭니다.

(도구 탭 - NuGet 패키지 관리자 - 솔루션용 NuGet 패키지 관리)

 

2. NuGet 솔루션 창에서 Excel을 검색하여 현재 패키지에 추가해줍니다.

NuGet 솔루션창.

* 셀레니움 - 웹 드라이버와, 브라우저 드라이버를 설치해준다.

 

3. 셀레니움을 사용하기 위하여 using 선언.

using OpenQA.Selenium;

using Open.Selenium.Chrome;

 

var driverService = ChromeDriverService.CreateDefaultService(); // 크롬 드라이버 서비스를 기본값으로 설정.

var options = new ChromeOptions(); // 크롬 옵션 설정

 

using (IWebDriver driver = new ChromeDriver(driverService, options))  // 생성자가 많음. 정의부분 가서 확인 후 필요한 방식대로 사용하면 됨.
{

    driver.Url = "http://www.naver.com"; // 브라우저 실행. 접근 할 웹페이지의 url 입력. 

    var searchTextBox = driver.FindElement(By.XPath("접근 할 버튼 혹은 검색창의 XPath"));

}

 

* xpath 확인법.

해당 웹페이지로 접속 후 F12를 누른다.

 

 

 

우측에 생기는 DevTool에서 위쪽 Elements 탭 왼쪽으로 두칸에 있는 네모+화살표 모양을 클릭한다.(단축키 컨트롤+쉬프트+C)

버튼을 클릭한 후 Elements창에서 열리는 해당 속성 태그를 우클릭 후 Copy - Copy XPath를 클릭한다.

필요에 따라 XPath 외 다른 방식을 이용해도 된다.

By.XPath 외에도 By.ClassName이나 By.TagName 메소드도 있음.

 

.Click() 이나 .SendKeys나 .Clear() 는 셀레니움 홈페이지(?) 참조.

 

 

 

 

초간단 설명.
1. NuGet 패키지로 Excel 패키지 추가.

2. using Excel = ""; // 엑셀 파일 접근

3. path클래스로 바탕화면 혹은 실행파일 기준 경로 설정 (파일 생성은 파일 스트림 검색)

4. 해당 파일 접근 후 시트 설정

5. 데이터 read or write

 

 

 

 

** Visual Studio 2019 버전 기준 설명입니다. **

1. 프로젝트를 실행한 후 NuGet 솔루션을 켭니다.

(도구 탭 - NuGet 패키지 관리자 - 솔루션용 NuGet 패키지 관리)

 

2. NuGet 솔루션 창에서 Excel을 검색하여 현재 패키지에 추가해줍니다.

NuGet 솔루션. 이미 Excel 을 검색하여 추가한 상태.

 

 

3. Excel을 사용하기 위하여 상단에 using 선언.

using Excel = Microsoft.Office.Interop.Excel;

 

4. Excel 파일 접근 및 사용.

string path = Path.Combine("엑셀 파일 경로", "엑셀 파일명(확장자 포함)");

 

Excel.Application excelApp = new Excel.Application(); // 컴퓨터에 엑셀이 없을 경우 에러.

Excel.Workbook workBook = excelApp.Workbooks.Open(path);

Excel.Worksheet workSheet = workBook.Worksheets.get_Item(1) as Excel.Worksheet; // 엑셀 1번째 워크시트 가져오기

Excel.Range range = workSheet.UsedRange; // 사용 중인 셀 영역을 가져오기

 

string value = (string)(range.Cells[1, 1] as Excel.Range).Value2; // 오픈한 엑셀 파일의 워크시트에서 1행 1열 값을 가져온다.

 

* 반대로 저장도 가능하며, 메모리 해제를 해주지 않으면, 계속 엑셀이 실행 중임.

* 시트는 숫자로 하면 n번째 시트를 인식하며, 문자열을 통해 시트 이름을 찾을 수 있다.

* 경로는 Path클래스가 아닌 직접 string으로 입력해줘도 된다.

 

[c# 셀레니움 visual2019] 

 

element not interactable: element has zero size

 

웹 크롤링 도중에 뜬 에러.

 

xPath 긁어와서 클릭을 하려고 했는데 에러가 뜸.

원인 : 클릭 기능이 없는 변수를 사용함.

xPath를 긁어올 때 실수로 상위 오브젝트의 xPath를 긁어옴.

[c# 셀레니움 visual2019] 웹 크롤링

 

stale element reference: element is not attached to the page document

 

웹 크롤링 도중 뜬 에러.

 

1. sleep.

서칭 대기시간 없어서 뜰 수도 있다고 함.(구글링. 저는 이 경우가 아니었습니다)

 

2. 재사용 불가.

같은 xpath이기 때문에 처음 초기화 해놓고 계속 쓰려고 했는데 안됨.

페이지 로딩 이후 다시 초기화해서 써야함.

(ex: 버튼 xPath로 연결해놓고, 클릭하거나 다른 이유로 다른페이지 로딩시켰으면, 같은 xPath라도 다시 연결해야함.)

 

 

 

Microsoft.Office.Interop.Excel 비주얼에서 C#언어를 사용해 FileStream을 하려고 하는 중 Excel 변수 초기화 도중 에러가 뜸.

 

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application excelApp = null;

excelApp = new Excel.Application(); // 에러 구문

 

에러 메시지 : 80040154 클래스가 등록되지 않았습니다. (예외가 발생한 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) 오류로 인해 CLSID가 {00024500-0000-0000-C000-000000000046}인 구성 요소의 COM 클래스 팩터리를 검색하지 못했습니다.

 

 

docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/interop/walkthrough-office-programming

 

 

https://stackoverrun.com/ko/q/3685260

 

 

 

컴퓨터에 Excel이 설치되어 있지 않기 때문으로 추정.

 

오랜만에 호야 분식을 찾아 떠났건만, 이전 안내문이 있네요~

 

~9월 26일까지 영업 후 이전. 10월 5일부터 이전 장소에서 재개업

 

(2020년) 9월 26일까지만 영업 후 이전!

(2020년) 10월 5일부터 이전 개업.

이전 장소 : (신가동) 호반리젠시빌1차상가

 

 

 

그래서 이전한 곳을 찾아가 봤더니.. 띠로리... 오늘 휴무일이라니 ㅜ_ㅜ 슬프답니다!

 

하필 일요일...ㅜ.ㅜ

(가격도 올랐다고 하네요... 기존 가격이 너무 싸긴 했죠?)

 

맛. 가격 리뷰는 다음에 가게 되면 다시 첨부를! ^_^

돌아오는 길에 햄버거 사 먹고 그냥 왔답니다 ㅜ_ㅜ

 

다들 코로나. 건강 조심하시고요!
오늘도 좋은 하루 보내시길 바랍니당~♥

'오프라인 > 맛을 찾아서~' 카테고리의 다른 글

[BHC] 포테킹 후라이드  (0) 2021.04.12
[호야분식] 이전 후...  (0) 2021.04.12
[펌] 딸기청 만들기 - 링크첨부  (0) 2020.05.05
[돈까스집/토토로(ToToRo Kichen)]  (0) 2019.07.22
[분식집] 호야식당~!  (0) 2019.03.28