최근에 WAMP 로컬 서버에 코드 점화 장치를 사용하여 사이트를 구축하고 Namecheap의 공유 호스팅 서버에서이를 테스트했습니다. 그런 다음 VPS에서 iPage의 계획을 호스팅하고 파일을 업로드하고 필요한 구성을 수행했습니다. 오류VPS 서버에 배포 할 때 코드 점화 장치 시스템 파일에 비정상적인 오류가 발생했습니다.
메시지 : 정의되지 않은 함수 ctype_digit에()를 호출
파일 이름 :/홈 캐치되지 않는 예외가
유형을 발생했습니다
: 나는이 사이트에 액세스하려고 할 때 그러나, 나는이 오류가 발생했습니다 /eastngco/public_html/system/core/Security.php
줄 번호 : 600
문제이며, 의심 파일, Security.php는 내가 쓴 적이없는 코드 점화 시스템 파일입니다 (내가 작성한 모든 것은 응용 프로그램 폴더 내에 있습니다). 다음은 Security.php의 라인 주위 코드는 오류를 일으키는 :
/**
* Get random bytes
*
* @param int $length Output length
* @return string
*/
public function get_random_bytes($length)
{
if (empty($length) OR ! ctype_digit((string) $length))
{
return FALSE;
}
if (function_exists('random_bytes'))
{
try
{
// The cast is required to avoid TypeError
return random_bytes((int) $length);
}
catch (Exception $e)
{
// If random_bytes() can't do the job, we can't either ...
// There's no point in using fallbacks.
log_message('error', $e->getMessage());
return FALSE;
}
}
// Unfortunately, none of the following PRNGs is guaranteed to exist ...
if (defined('MCRYPT_DEV_URANDOM') && ($output = mcrypt_create_iv($length, MCRYPT_DEV_URANDOM)) !== FALSE)
{
return $output;
}
if (is_readable('/dev/urandom') && ($fp = fopen('/dev/urandom', 'rb')) !== FALSE)
{
// Try not to waste entropy ...
is_php('5.4') && stream_set_chunk_size($fp, $length);
$output = fread($fp, $length);
fclose($fp);
if ($output !== FALSE)
{
return $output;
}
}
if (function_exists('openssl_random_pseudo_bytes'))
{
return openssl_random_pseudo_bytes($length);
}
return FALSE;
}
내가 임의 바이트 ctype_digit()가 무엇을 의미하는지 아무 생각이 없습니다!
웹에서 비슷한 문제 (및 해결 방법)가 나타 났는지 확인하기 위해 일부 파고 들었지만 아무 것도하지 않았습니다. 제발 도와주세요. 그것이 무엇이든을 의미하는 경우에, 나의 접대 계획으로 오는 PHP 버전은 버전 7이고, 나는 SSL가있다.
나는 VPS의 요점이 당신이 서버를 통제하고 있다고 생각 하나? 아마도 ctype 함수를 활성화하고 아파치를 다시 시작해야 할 것이다. –
내 무지를 용서하지만, 나는 정말로 어떻게 해야할지 모르겠다. VPS를 처음 사용하는 경우 – Valkay
어떤 운영 체제입니까? 어떤 버전의 운영 체제입니까? 웹 서버가 Apache 또는 nginx입니까? 루트 권한으로 명령 줄에 액세스 할 수 있습니까? –