나는 CMS
데이터베이스에 테이블을 생성하는 자체 설치 프로그램을 만들고 있습니다.
나는 모든 것이 wamp에서 잘 작동하는이 PHP 코드를 사용하고 있지만 스크립트는 서버에서 10 개의 파일 이후에 꽤 좋습니다.
if (!$db = new PDO('mysql:host='.$dbhost.'; dbname='.$dbname, $dbuser, $dbpass)){$msg = 'e|Could Not Connect.';}
elseif ($db = new PDO('mysql:host='.$dbhost.'; dbname='.$dbname, $dbuser, $dbpass)){
$sql = '';
foreach(glob('sql/*') as $file) {$sql .= file_get_contents($file);}
$db->exec($sql);
}
다음과 같은 총 48 개의 txt 파일 sql/
이 있습니다.
--
-- Table structure for table `block_grids`
--
CREATE TABLE IF NOT EXISTS `block_grids` (
`block_grid_id` int(12) NOT NULL AUTO_INCREMENT,
`block_grid_name` varchar(25) NOT NULL,
`row_items_small` tinyint(2) NOT NULL,
`row_items_medium` tinyint(2) NOT NULL,
`row_items_large` tinyint(2) NOT NULL,
`equalize_block_grid` tinyint(1) NOT NULL,
PRIMARY KEY (`block_grid_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
서버는 업로드를 위해 200mMiBs로 설정되어 있으며 실행 된 총 10 개의 파일은 161KiB에 불과합니다. 어디로 가야할지 모르겠습니다 ...
위의 코드는 wamp에서 잘 작동하는 모든 파일을 함께 연결합니다. 이 코드로 각 파일을 개별적으로 실행하려고 시도했지만 모든 시도에서 4 번만 실행했습니다.
if (!$db = new PDO('mysql:host='.$dbhost.'; dbname='.$dbname, $dbuser, $dbpass)){$msg = 'e|Could Not Connect.';}
elseif ($db = new PDO('mysql:host='.$dbhost.'; dbname='.$dbname, $dbuser, $dbpass)){
$sql = '';
foreach(glob('sql/*') as $file) {
$sql = file_get_contents($file);
$db->exec($sql);
}
}
현재 호스트에 있고 wamp가 아니므 로 호스트 환경 에서는 다음이 가능 하지 않을 수 있지만 시도해보십시오. (.cnf 수정이 불가능할 수 있습니다.)
show variables like '%wait_timeout%';
show global variables like '%wait_timeout%';
mysql 프롬프트에서 실행합니다.
set global wait_timeout=600
이것은 10 분, 비참하게 긴 시간입니다. 당신은 내 말도 안되는 것이 아니라 당신의 필요에 따라 가치를 선택합니다.
모든 새 세션은이 값을 얻습니다.
my.cnf의 미러 변경. 파일. 이는 mysql 재시작시 적용됩니다.
보고 작업 (또는 기타)의 모든 트랜잭션은 당연히 우려됩니다. 트랜잭션 외부의 래핑되지 않은 문을 트랜잭션으로 생각하십시오.
또는 해결 방법으로 많은 teeenie 파일을 만드십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다