2015-02-03 4 views
-1

Я хотел бы установить CakePHP на моем сервере xampp по каждому проекту. root/project1 root/project2Установка CakePHP

и я хотел бы получить к нему доступ по localhost/project1, localhost/project2. Project1 будет моим тестовым сайтом, другой будет издаваться. Вот сообщение об ошибке «project1Controller не может быть найден»

<VirtualHost *:80> 
    ServerName localhost 
    ServerAlias localhost/project1 
    ServerAdmin [email protected] 
    DocumentRoot "C:/root/cakephp/project1/app/webroot" 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride FileInfo 
     Require all granted 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName localhost 
    ServerAlias localhost/project2 
    ServerAdmin [email protected] 
    DocumentRoot "C:/root/cakephp/project2/app/webroot" 
    <Directory /> 
     Options FollowSymLinks 
     AllowOverride FileInfo 
     Require all granted 
    </Directory> 
</VirtualHost> 

Пожалуйста, сообщите мне. Спасибо

ответ

3

Ваш DocumentRoot не должен быть папкой webroot, он должен быть самым корнем всего проекта Cake. Попробуйте изменить его:

<VirtualHost *:80> 
    ServerName localhost 
    ServerAlias localhost/project1 
    ServerAdmin [email protected] 
    DocumentRoot "C:/root/cakephp/project1" 
    <Directory /> 
    Options FollowSymLinks 
    AllowOverride FileInfo 
    Require all granted 
    </Directory> 
</VirtualHost> 

.htaccess и фронт-контроллер Cake будет заботиться о маршрутизации для вас. Вам не нужно пытаться напрямую обращаться к webroot.

+0

Спасибо, я сделал это! –

0

У меня была такая же проблема с настройкой Apache, пока я не сдался и не переключился на Hiawatha, гораздо проще в настройке и в соответствии с некоторым эталоном быстрее, чем Apache.

Вот мой чек на , как настроить сервер с Гайавате-PHP-MariaDB:

  1. Установка MariaDB

    sudo yum -y install mariadb mariadb-server 
    sudo systemctl start mariadb.service 
    sudo systemctl enable mariadb.service 
    
  2. Настройка MySQL:

    sudo mysql_secure_installation 
    
  3. Установить Hiawatha:

    sudo yum install yum-utils 
    sudo yum-config-manager --add-repo http://repo.hiawatha.be 
    sudo rpm --import http://repo.hiawatha.be/pubkey 
    sudo yum install hiawatha 
    sudo systemctl enable hiawatha.service 
    
  4. Установите php5-FPM:

    sudo yum -y install php-fpm php-mysql php-cli 
    sudo nano /etc/php.ini 
    
  5. Установите этот paramenter: cgi.fix_pathinfo = 0

  6. Удалить комментарии:

    #pm.min_spare_servers = 5 
    #pm.max_spare_servers = 35 
    
  7. Restart PHP-FPM:

    systemctl restart php-fpm.service 
    

А вот /etc/hiawatha/hiawatha.conf файл:

ServerId = www-data 
ConnectionsTotal = 1000 
ConnectionsPerIP = 25 
SystemLogfile = /var/log/hiawatha/system.log 
GarbageLogfile = /var/log/hiawatha/garbage.log 
Binding { 
     Port = 80 
} 
Binding { 
     Port = 443 
     SSLcertFile = /etc/hiawatha/serverkey.pem 
} 

CGIhandler = /usr/bin/php5-cgi:php,php5 

FastCGIserver { 
     FastCGIid = PHP5 
     ConnectTo = 127.0.0.1:9000 
     Extension = php 
} 

UrlToolkit { 
    ToolkitID = cakephp 
    RequestURI exists Return 
    Match .* Rewrite /index.php 
} 

Hostname = serverIpAddress 
WebsiteRoot = /var/www 
StartFile = index.html 
AccessLogfile = /var/log/hiawatha/access.log 
ErrorLogfile = /var/log/hiawatha/error.log 
UseFastCGI = PHP5 

VirtualHost { 
     Hostname = www.example.com 
     WebsiteRoot = /var/www/example.com 
     StartFile = index.php 
     AccessLogfile = /var/www/example.com/access.log 
     ErrorLogfile = /var/www/example/error.log 
     RequireSSL = yes 
     TimeForCGI = 5 
     UseFastCGI = PHP5 
     UseToolkit = cakephp 
} 
VirtualHost { 
     Hostname = host2.example.com 
     WebsiteRoot = /var/www/anotherexample 
     StartFile = index.php 
     AccessLogfile = /var/www/anotherexample/logs/access.log 
     ErrorLogfile = /var/www/anotherexample/logs/error.log 
     RequireSSL = yes 
     TimeForCGI = 5 
     UseFastCGI = PHP5 
     UseToolkit = cakephp 
} 
0

Для новой версии (CakePHP 3.x), вы можете использовать только

открыть командную строку и перейдите в каталог проекта.После этого запуска этой команды

bin\cake server

, когда ваша команда выполнить, то ваш сервер по умолчанию будет localhost:8765

Смежные вопросы