2009-07-30 3 views
3

로컬 컴퓨터에서 라이브 서버로 웹 사이트를 마이그레이션 한 후 이미지 경로를 업데이트하는 가장 간단한 방법은 무엇입니까? 대부분의 경우 수동으로 경로를 업데이트합니다. 나는 나가 놓치기에 더 간단한 방법이 있어야한다고 확신합니다.로컬 컴퓨터에서 라이브 서버로 Drupal 사이트를 마이그레이션 한 후 끊어진 이미지 링크

친절히 제안합니다.

+0

"이미지 링크"를 정의하십시오. 테마 이미지? ImageCache 이미지? 업로드 된 이미지? 드루팔 (Drupal에서 이미지를 표시하는 많은 구성 요소가 많이 있으며, 대부분은 설정에서 사이트의 URL을 업데이트하는 한 서버 이동에 잘 적응해야합니다. – ceejayoz

+0

수정해야 할 부분이 잘못되었다고 생각합니다. . 공용 웹 사이트에 배포하기 전에 로컬 서버를 사용하여 새 모듈을 테스트합니다. 공용 웹 사이트의 새로운 백업으로 로컬 서버를 정기적으로 업데이트하고 로컬 파일 시스템에서 디렉토리 사용 권한이 잘못되었을 때 이미지가 손상되는 유일한 시간을 업데이트합니다. – Bevan

+0

로드에 실패한 이미지에 사용되는 URL은 무엇입니까? 그리고 그 이미지에 어떤 URL *이 있어야합니까? 몇 가지 예를 들려주세요. – Bevan

답변

3

내가보기에 문제는 관리에서 파일 경로를 설정하지 않았기 때문입니다. 관리 (admin/settings/file-system)에 들어가서 페이지를 저장하면 파일 경로의 값을 정의하게됩니다 (문제를 제거해야 함).

또한 해당 인터페이스를 통해 원래 기본 (또는 로컬) 디렉토리를 사용하도록 모든 파일을 설정할 수도 있습니다.

궁금한 점이 있다면, 파일 경로에 대한 후드 아래에있는 variable_get 호출이 settings.php 파일을로드하는 사이트 디렉토리를 기반으로 동적이라는 것입니다. 값을 설정하면 더 이상 기본 설정을 사용하지 않고 값을 대신 사용합니다.

상대 위치에서 파일을 물리적으로 이동하는 경우 서버에서 로컬로 파일을 이동하는 경우 해당 문제를 해결하는 데 많은 도움이되지 않습니다.

+0

Ok .. 답장을 보내 주셔서 감사합니다. 그러나 나는 많은 성공없이 과거에 파일 시스템을 사용하여 경로를 변경해 보았습니다. 다음 번에 단일 사이트 frm을 복사 할 때 로컬 컴퓨터에있는 다중 사이트 설정을 라이브 서버에서 개별적으로 구성하여 다시 확인해보십시오. 감사 – Sbhambry

1

실제로 로컬 컴퓨터에는 다중 사이트 설정이 있고 배포시 깨진 이미지로 이어지는 라이브 서버에는 단일 사이트 설정이 있습니다. 이 문제를 해결하는 가장 쉬운 방법은 간단한 SQL 쿼리를 사용하여 서버의 파일 경로를 업데이트하는 것입니다. 업데이트 파일 SET filepath = REPLACE (filepath, 'old/path', 'new/path');

+0

이 문제도 발생했습니다. 그 이후로이 문제를 해결하는보다 우아한 방법을 찾았습니까? –

+0

BTW이 문제는 Drupal 7에서 수정되었습니다. 위에서 설명한대로 경로 접두어를 더 이상 교체 할 필요가 없습니다. –

0

로컬 dev 서버에서 원격 dev 서버로 사이트를 이동했습니다. 모든 이미지가 깨졌습니다. 이동 후 업로드하려고 시도한 새 이미지조차도 깨진 링크로 표시되었습니다. 나는 마침내 내 사이트/DOMAIN_NAME/files 폴더 사용 권한이 변경되었음을 알았습니다. 그 폴더는 웹 사용자에게 가장 실행 가능해야합니다. 그렇지 않으면 Drupal은 폴더에있는 파일을 검색하기 위해 Drupal에 액세스 할 수 없습니다.

1

이 문제가 해결되면 로컬 호스트의 Acquia Drupal 7 설치를 프로덕션 시스템으로 마이그레이션했습니다. 서버 설정은 데이터베이스 가져 오기 후 일부 경로 지정이 잘못되었다는 점만 다릅니다.

우리는

select * from menu_router where path like '%sites/myoldpath%' 

을하는 것은 새 서버에 유효했던 page_callback라는 image_style_deliver에 대한 경로를 설정 것을 발견했다.

update menu_router set path 'sites/mynewpath/files/styles%', tab_root = 'sites/mynewpath/files/styles/%' where path like '%myoldpath%' 

해결책으로 밝혀졌습니다. 나는 어떤 내용을 재생성하지도 않았다. 드루팔 (Drupal)이 즉시 복구되었고 올바른 폴더에 적절한 미리보기 이미지가 생성되었습니다.

0

내 서버에서 방금 전에 한 일 중 가장 간단한 방법은 검색을 사용하여 데이터베이스 .sql 덤프 파일을 편집하고 이전 서버에서 원하는 파일이나 URL 경로를 새로운 것으로 바꾸는 것입니다 섬기는 사람. mu drupal 사이트를 마이그레이션하고 링크가 손상되어 이것이 문제를 해결하기 위해 수행 한 것임을 발견했습니다. 1 : 사이트를 오프라인으로 만듭니다. 2 : SQL 덤프를 사용하여 데이터베이스를 백업하십시오. 이전 데이터베이스를 삭제하십시오.

3 : 검색 및 바꾸기를 사용하여 SQL 덤프 파일의 복사본을 편집하고 원하는 URL에 파일 경로를 저장하십시오. 나는 내 모든 이미지 링크의 URL 접두사를 e에서 편집하고 싶었다.g http://my.oldserver.co.uk ~ http://newserver.ac.uk. 4 새 데이터베이스를 만들고 동일한 db 이름, 사용자 이름 및 암호를 사용하여 편집 한 .sql 파일을 가져옵니다.

  1. 온라인 및 비올라 사이트를 다시 가져 오면 이미지 링크가 작동합니다.
관련 문제