Jor*_*.it 29 php symfony doctrine-orm
我正在尝试将我的PHP应用程序迁移到Ubuntu服务器,但没有成功.任何帮助,将不胜感激.
首先,我按照Doctrine 入门手册的第一部分(直到"生成数据库模式")将Doctrine成功安装到/ jorrit/myapp中.其次,我将我的PHP脚本(使用Doctrine)放在文件夹/ jorrit/myapp中.
当我尝试在CLI中运行我的PHP脚本时,收到以下错误消息:
PHP警告:require(/ tmp/__ CG__Source.php):无法打开流:第200行/jorrit/myapp/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php中没有此类文件或目录
PHP致命错误:require():在/ jorrit/myapp/vendor/doctrine /中打开所需的'/tmp/__CG__Source.php'(include_path ='.:/ usr/share/php:/ usr/share/pear')失败第200行的common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php
Bootstrap.php看起来像这样:
<?php
// bootstrap.php
use Doctrine\ORM\Tools\Setup;
use Doctrine\ORM\EntityManager;
require_once "vendor/autoload.php";
// Create a simple "default" Doctrine ORM configuration for Annotations
$isDevMode = false;
$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__."/src"), $isDevMode);
// the connection configuration
$dbParams = array(
'driver' => 'pdo_mysql',
'host' => 'xx',
'user' => 'xx',
'password' => 'xx',
'dbname' => 'xx',
'profiler' => 'false'
);
// obtaining the entity manager
$entityManager = EntityManager::create($dbParams, $config);
?>
Run Code Online (Sandbox Code Playgroud)
我的PHP脚本的第一行:
<?php
require_once "bootstrap.php";
require_once 'classes.php';
$connection = $entityManager->getConnection();
Run Code Online (Sandbox Code Playgroud)
该应用程序在我的开发环境(Windows)中运行良好./ tmp文件夹存在且可访问.数据库成功迁移并存在.我没有更改vendor文件夹中的任何内容.
有任何想法吗?在此先感谢您的帮助.
Zor*_*rji 57
TL; DR您只需手动生成代理类
vendor/bin/doctrine orm:generate-proxies
Run Code Online (Sandbox Code Playgroud)
Doctrine使用Proxies连接到数据库.代理是从实体类生成的.
在开发模式下,它会在每个请求上生成一个代理,因为您可以对实体类进行更改.
在生产模式下,它不会每次都生成代理.出于性能原因,它假定代理存在并直接包含它们.
Proxies生成有几种模式:
现在命令
vendor/bin/doctrine orm:generate-proxies
Run Code Online (Sandbox Code Playgroud)
生成到/ tmp的代理类.我会说这可能仍会造成麻烦,因为服务器上的其他应用程序可能会意外删除这些文件.一种选择是您可以将/ tmp目录访问权限更改为1777
sudo chmod 1777 /tmp
Run Code Online (Sandbox Code Playgroud)
777前面的位置"1"意味着,虽然每个人都可以读取/写入/ tmp目录,但是您只能对自己的文件进行操作.即您无法删除其他用户创建的文件.
您还可以将Proxies目录设置为其他位置,以便其他应用程序无法修改它们.http://docs.doctrine-project.org/en/latest/reference/advanced-configuration.html#autoloading-proxies
| 归档时间: |
|
| 查看次数: |
21130 次 |
| 最近记录: |