Linux 환경에서는 sqlite에 레코드를 삽입할 수 없습니다.

Linux 환경에서는 sqlite에 레코드를 삽입할 수 없습니다.

Php대신 내 컴퓨터에서 간단한 프로그램을 사용하여 테스트했는데 제대로 작동했습니다. 이 프로그램이 하는 일은 단순히 테이블에 레코드를 삽입하는 것뿐입니다. 이제 CentOS(CentOS)에서 실행되는 원격 웹 서버에서 이 작업을 수행하려고 하면 작동하지 않습니다.Sqlite3mySQLLinuxSqlite3

Sqlite내 파일에 다음과 같은 초기 권한이 있었기 때문에 처음에는 파일 권한 문제인 줄 알았습니다.644화그래서 나는 그것을 다음과 같이 바꿨다.646화그 다음에767화둘 다 도움이 되지 않습니다.

그런데 웹 서버의 버전이 Php약간 오래되었습니다.Php 5.1.6하지만 내 로컬 컴퓨터에서는5.5.11.

다음은 두 대의 서버에서 실행되는 샘플 코드입니다.

$db = new PDO('sqlite:test.db');

$lastname = "Doe";
$firstname = "John";
$sql = "INSERT INTO people (Lastname,Firstname) VALUES (:lastname,:firstname)";

$q = $db->prepare($sql);
$q->execute(array(':lastname'=>$lastname,
                  ':firstname'=>$firstname));

간단한 쿼리를 시도했습니다.SQLite3그런데 웹 서버의 데이터베이스는 잘 작동합니다.

그렇다면 이것은 단순한 버전 문제일까요 Php, 아니면 Linux에서 필요한 상승된 권한일까요?

그런데, 그건 바꿀 수 없으니 php.ini지금은 가능한 방향을 포기하세요. 그리고 Php저는 해당 서버를 무료로 사용하고 있기 때문에 해당 서버에 새 버전을 설치할 수 있는 옵션이 없습니다 .

나는 성공하지 않고 같은 질문을 시도했지만 여기서 행운을 시험하고 있습니다.

관련 정보