Cakephp (현재 공유 된 Dreamhost 서버에서 실행 중)에서 crontab을 사용하려고합니다. 업데이트 프로그램이Cakephp 쉘이 mysql에 연결할 수 없습니다.
cron.sh
#########
cd /pathToApp/app/Console
/usr/local/bin/php cake.php updater list_reports
내 쉘이고를 list_reports :
나는 수동으로 크론 실행 또는 둘 모두 쉘 파일을 통해 (실행 중 하나를 통해 작품을 잘 book에 따라 설정 쉘, 예를 . 내가 (같은 링크를 "쉘에서 모델을 사용") 쉘에서 데이터베이스에 액세스하려고 할 때 방법은 그
문제가 발생
오류 메시지 :.
을Error: Database connection "SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)" is missing, or could not be created.
내 DB 설정 (사이트가 http에 잘 작동합니다. unix_socket
또는 그 이상을 추가해야합니까?
array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'mysql.mydomain.net',
'port' => '3306',
'login' => '*******',
'password' => '*******',
'database' => '*******',
'prefix' => '',
);
것 나는 시도했다 :
- 는
/var/run/mysqld/mysqld.sock
에 심볼릭 링크 만들기 - 권한 심지어 공유 호스팅이 작업을 수행 할 수 - 를 거부?
- 위의 db 설정에 다양한 변경을 시도했지만 행운은 없습니다.
- 비슷한 문제가 localhost를 127.0.0.1로 대체하는 사람들에 의해 해결되었지만 로컬이 아닌 공유 호스트를 사용하고 있습니다.
오류 메시지에서 원격 데이터베이스 대신 로컬 mysql 데이터베이스에 연결하려는 것 같습니다. – ifunk
좋은 점은, 오류 메시지의 소켓 비트에 집중하고 있었고, "지역"이라는 단어의 의미를 알지 못했습니다. 공유 호스팅입니다. Dreamhost 패널을 통해 설정된 호스트 이름 인 mysql.mydomain.net이 관련성이 있습니까? –
저는 Dreamhost에 익숙하지 않지만 다음과 같이 스크립트를 실행 해보십시오 : cd/pathToApp/app 콘솔/케이크 업데이터 list_reports – ifunk